Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Отловить событие максимизации/восстановления формы   Найти похожие ветки 

 
Juliet   (2004-04-14 13:20) [0]

Всем доброго дня!
Может кто подскажет - как отловить событие максимизации/восстановления формы при двойном щелчке по заголовку формы? (перехват сообщения WN_SYSCOMMAND в данном случае результата не дает)


 
TUser ©   (2004-04-14 13:37) [1]

OnCanResize


 
Юрий Зотов ©   (2004-04-14 13:38) [2]

А позвольте Вам не поверить. Вот как раз WM_SYSCOMMAND и дает.


 
Juliet   (2004-04-14 13:44) [3]

WM_SYSCOMMAND срабатывает только в случае макимизации/восстановления при нажатии соответсвующей кнопки в углу окна


 
TUser ©   (2004-04-14 14:01) [4]

Нет. Он работает всегда.


 
Юрий Зотов ©   (2004-04-14 14:07) [5]

> Juliet   (14.04.04 13:44) [3]

А позвольте снова Вам не поверить?

type
 TForm1 = class(TForm)
 private
   procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
 end;

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
 inherited;
 Caption := IntToHex(Message.CmdType and $FFF0, 8)
end;

Что видим в Caption при кликах по кнопкам и заголовку? Правильно - одно и то же. Так будем спорить, или как?


 
Juliet   (2004-04-14 15:28) [6]

Юрий Зотов, спасибо за ответы, Ваш пример действительно нормально работает
Если бы мне еще кто-нибудь объяснил, почему у меня в таком виде (привожу ниже код) ВСЕ ЭТО НЕ РАБОТАЕТ? Т.Е при двойном клике на заголовке я не получаю сообщения MAX
procedure FORM1.WMSysCommand(var Message: TWMSysCommand);
begin
inherited;
case Message.CmdType of
 SC_MAXIMIZE: ShowMessage("MAX");
 SC_RESTORE: ShowMessage("NORMAL");
end;
end;


 
clickmaker ©   (2004-04-14 15:31) [7]

> Juliet   (14.04.04 15:28) [6]
Из MSDN

In WM_SYSCOMMAND messages, the four low-order bits of the uCmdType parameter are used internally by the system. To obtain the correct result when testing the value of uCmdType, an application must combine the value 0xFFF0 with the uCmdType value by using the bitwise AND operator.


 
Juliet   (2004-04-14 15:51) [8]

Спасибо, приняла к сведению и исполнению
все получилось



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
8-1076075911
Asd
2004-02-06 16:58
2004.05.02
Размеры картинки (длина высота)


4-1078857378
Tofig Gasanov
2004-03-09 21:36
2004.05.02
Нестандартные окна..


1-1082026826
demonyator
2004-04-15 15:00
2004.05.02
Клавиатурный хук не ловит первую букву в каждом новом окне


6-1078913962
Denton
2004-03-10 13:19
2004.05.02
LAN on/off


14-1081847255
juiceman
2004-04-13 13:07
2004.05.02
считалка трафика