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

Вниз

Перехват максимизации окна   Найти похожие ветки 

 
Рамиль ©   (2004-08-25 11:10) [0]

Вот такой код работает только для нажатия кнопки системного меню
procedure TfmView.WMSysCommand(var Message: TWMSysCommand);
begin
 if Message.CmdType <> SC_MAXIMIZE then inherited
 else  Message.Result := 0;
end;

А при двойном шелчке по заголовку оно спокойно разварачивается. Как его перехватить?


 
Skier ©   (2004-08-25 11:16) [1]

WM_NCLBUTTONDBLCLK ?


 
Рамиль ©   (2004-08-25 11:25) [2]

Сенкс:)


 
Юрий Зотов ©   (2004-08-25 12:00) [3]

К вопросу о пользе чтения справки - читаем ПОЛНОСТЬЮ и ВНИМАТЕЛЬНО справку по WM_SYSCOMMAND и видим следующее:
"In WM_SYSCOMMAND messages, the four low-order bits of the uCmdType parameter are used internally by Windows. 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".

Теперь используем эту информацию в своей программе:

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
 if Message.CmdType and $FFF0 <> SC_MAXIMIZE then
   inherited
 else
   Message.Result := 0
end;

и не имеем никаких проблем.


 
Рамиль ©   (2004-08-25 12:44) [4]

Ммм.. я конечно это прочитал. Но почему то не вник в To obtain the correct result when testing :(


 
Skier ©   (2004-08-25 12:48) [5]

>Рамиль ©   (25.08.04 12:44) [4]
посмотри как обрабатывается WM_SysCommand в VCL



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

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

Наверх




Память: 0.47 MB
Время: 0.08 c
14-1093054091
Думкин
2004-08-21 06:08
2004.09.12
С днем рождения! 21 августа


4-1091415841
DelphiN!
2004-08-02 07:04
2004.09.12
Отслеживание запуска процессов


4-1091041350
Sulimxar
2004-07-28 23:02
2004.09.12
Окно между курсором и формой


3-1092653832
Sir John
2004-08-16 14:57
2004.09.12
Автоинкремент при работе с локальными фалами


4-1091091114
Alek
2004-07-29 12:51
2004.09.12
Как получить десркиптор текущего активного окна?