Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отловить Handle дочернего окна [D5, Win2k]


sapsi ©   (2003-05-21 10:19:00) 

Добрый день.
Как можно отловит хэндл дочернего окна.
Пользуюсь
FindWindowEx
Получаю сначала Хэндл родительского, а вместо дочернего - NULL.
Но хэндл дочернего не получаю.
В чем причина?
Если можно, пример работающего кода.
Спасибо.


sapsi   (2003-05-21 14:12:00) [1]

спасибо


Игорь Шевченко   (2003-05-21 13:09:00) [2]


procedure TfMain.Minimize1Click(Sender: TObject);
var
hChild : HWND;
begin
hChild := FindWindowEx(Self.ClientHandle, 0, "TfChild", nil);
if hChild <> 0 then
PostMessage(hChild, WM_SYSCOMMAND, SC_MINIMIZE, 0)
else
ShowMessage("No child");
end;


Игорь Шевченко   (2003-05-21 13:08:00) [3]

The FindWindow function retrieves the handle to the top-level window whose class name and window name match the specified strings. This function does not search child windows.

Прочитаешь или перевести ?

MDIChild всегда является дочерним окном.


sapsi   (2003-05-21 12:25:00) [4]

нет, не равен, можно без условия даже написать....


Игорь Шевченко   (2003-05-21 11:47:00) [5]

А childhandle не равен ли нулю ?


sapsi   (2003-05-21 11:34:00) [6]

Ну например, есть два окна, главное и дочернее form1 - главное, form2 - дочернее.

var handle, childhandle: hwnd;
begin

handle:=findwindow("tform1",nil);
childhandle:=findwindow("tform2",nil);
if childhandle<>0 then sendmessage(childhandle,wm_syscommand,sc_minimize,0);
end;

Должна ли происходить минимизация mdi child окна? Она не происходит.

if handle<>0 then sendmessage(handle,wm_syscommand,sc_minimize,0);
эта строчка отрабатывает (для главного окна).


Игорь Шевченко   (2003-05-21 11:06:00) [7]

Как пытаешься получить (код) ?


sapsi   (2003-05-21 10:59:00) [8]

получить его


Игорь Шевченко   (2003-05-21 10:23:00) [9]

Что значит "отловить handle дочернего окна" ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо