Перейти к содержанию
Fire Monkey от А до Я

Winexcel

Пользователи
  • Постов

    77
  • Зарегистрирован

  • Посещение

Весь контент Winexcel

  1. Доброго времени суток, имею следующую проблему: нужно присвоить созданное окно контроллу на форме, например на TPanel, при условии что форма на которой лежит контролл имеет свойство Transparency:=True. Окно может создаваться как через WinApi, так и через FMX, пробовал два способа: Способ №1: Просто создать окно средствами FMX и присовить это окно к TPanel: VAR MyForm:TForm3; begin MyForm:=TForm3.Create(Panel1); MyForm.Show; Panel1.AddObject(MyForm); Данный способ не работает, возможно я что-то не так делаю? Способ №2: Создать дочернее окно через WinApi: var h_Instance : HINST; h_wnd : HWND; Form:TCommonCustomForm; begin h_Instance := GetModuleHandle(NiL); h_Wnd:=0; h_Wnd := CreateWindowEx(WS_EX_TOPMOST, PChar(32770), 'TestWindow', WS_CHILD or WS_VISIBLE or WS_BORDER, 0, 0, 100, 100, FMXHandleToHWND(Self.Handle), 0, h_Instance, NiL); end; Второй способ работает, но тогда не выполняется условие "при условии что форма на которой лежит контролл имеет свойство Transparency:=True", форма что создаётся через винапи также прозрачная на 100%. Собственно вопрос: можно ли как-то создать форму на контролле? Для чего вообще этот мазохизм? Мне нужно в дальнейшем создавать через винапи другие контроллы, на определеной области в моей форме, чтобы их создать я должен знать HWND окна, для этого собственно всё и делается. На VCL всё очень просто, указал Handle нужного компонента и всё. Если кто знает как решить данную проблему, помогите пожалуйста.
×
×
  • Создать...