Вниз
Скачать: CL | DM;

Проблемы с MDI   Найти похожие ветки 

 
AlexandrK   (2004-07-26 18:04) [0]

Перевожу MDI-проект на KOL&MCK.
Что бы несколько раз не открывать одно и то же дочернее окно - ищу его по заголовку, если нахожу, переношу вверх (BringToFront), а дальше надо это окно сделать активным, а не делается:(
Как активировать дочернее окно?
Спасибо и удачи всем


 
Vladimir Kladov   (2004-07-26 19:24) [1]

послать клиентскому окну WM_MDIACTIVATE.


 
AlexandrK   (2004-07-27 10:16) [2]

Спасибо.
т.е.
надо сделать так
Sendmessage(MainForm.MDIClient1.Handle,wm_MDIActivate,0,lParam)
где -
lParamHi=MainForm.MDIClient1.Children[i].Handle
lParamLo=>Sendmessage(MainForm.MDIClient1.Handle,wm_MDIGetActive,0,h)
но когда я посылаю wm_MDIGetActive вылетает "Runtime Error 216 at 77D49DDB".
Я что-то не так делаю?


 
AlexandrK   (2004-07-27 13:32) [3]

Получил handle активной формы
handle:=LOWORD(Sendmessage(MainForm.MDIClient1.Handle,wm_MDIGetActive,0,0))
Есть Handle формы, которую хочу активировать, есть Handle формы, которую хочу деактивировать.
а вот это Sendmessage(MainForm.MDIClient1.Handle,wm_MDIActivate,0,lParam)
не работает :(


 
AlexandrK   (2004-07-27 16:08) [4]

Все, разобрался -
Sendmessage(MainForm.MDIClient1.Handle,wm_MDIActivate,MainForm.MDIClient1.Children[i].Handle,0)


 
Vladimir Kladov   (2004-07-27 16:29) [5]

PostMessage( MDIClient1.Handle, WM_MDIACTIVATE, F2.Handle, 0 );
у меня работает.


 
AlexandrK   (2004-07-29 09:43) [6]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
3-1105600202
РВА
2005-01-13 10:10
2005.02.13
Ошибка при вводе данных


3-1105598311
jiny
2005-01-13 09:38
2005.02.13
Как заставить ХП распознавать входящую переменную как часть услов


3-1105696569
Автор333
2005-01-14 12:56
2005.02.13
Вопрос по датам?


1-1106756062
Blond
2005-01-26 19:14
2005.02.13
Помощь в delphi7


1-1106943533
Фёдор Мегатронов
2005-01-28 23:18
2005.02.13
Формирование комманды в коммандной строке - как ?




   Наверх