Главная страница
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.024 c
3-1081353922
Алексей Комлев
2004-04-07 20:05
2004.05.02
Как получить результат TQuery в виде набора строк?


3-1081149365
Brain Force
2004-04-05 11:16
2004.05.02
Форма для добавления поля в DBGrid(Eh)


3-1081383362
big_bugzy
2004-04-08 04:16
2004.05.02
Как в трех уровневом приложении получить идентификатор?


3-1081151802
Бегляров Владимир
2004-04-05 11:56
2004.05.02
Базы данных


14-1081418280
Она
2004-04-08 13:58
2004.05.02
сабж