![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать контрол в качестве Child а по парентовому хендлу?
Zelius © (2003-01-30 17:54:00)
У меня есть хэндл окна, который мне нужно использовать при создании контрола, например TToolbar"а. Как мне это сделать? В VCL для этих целей был специальный метод CreateParented. Спасибо.
SPeller (2003-01-31 15:31:00) [1]
Один момент - форма создаётся из ДЛЛ. Как на счёт прикрепления к чужим окнам - не знаю, не пробовал.
Zelius (2003-01-31 14:39:00) [2]
Мдаа... Глючит... Я решил писать на WinAPI, благо нужно не полноценное окно...
SPeller (2003-01-30 22:56:00) [3]
Глюки правда ещё есть. Ещё поработаю, погоняю, может быть полноценный CHILD получится :)
Kladov (2003-01-30 21:28:00) [4]
А что, в faq еще нет? Так внесите.
Zelius (2003-01-30 19:38:00) [5]
Хмм... Спасибо! Я бы до такого не додумался бы :)
SPeller (2003-01-30 19:00:00) [6]
Точно сказать не могу. Сам только что разбирался, но мне надо было форму сделать CHILD"ом, и всё это делалось из ДЛЛ, которую подгружает нужное приложение. Вот как я это делал:
function ListLoad( ParentWin: THandle; FileToLoad: PChar; ShowFlags: Integer ): THandle; stdcall;
var FN: string; MainFm: PControl; r: TRect; Rec: PSRObject;
begin
New( Rec );
NewfrmMain( Rec.FormObj, nil );
MainFm := Rec.FormObj.Form;
MainFm.CreateWindow;
MainFm.Style := WS_CHILD or WS_CLIPCHILDREN or WS_VISIBLE;
MainFm.ExStyle := WS_EX_CONTROLPARENT;
SetParent( MainFm.Handle, ParentWin );
Result := MainFm.Handle;
end;