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

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

Minimize... [D6]


iMAN ©   (2002-10-04 01:43:00) 

При минимизации формы должна выполняться некая процедура...
Как перехватить это событие?

P.S. Я пробовал перехватывать WM_SYSCOMMAND - что-то там не совсем то получается...


Юрий Зотов   (2002-10-05 00:52:00) [1]

Неточно.

if Message.CmdType and $FFF0= SC_MINIMIZE then...

Из справки:
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.


iMAN   (2002-10-05 00:36:00) [2]

tnx
Про inherited я совсем забыл =)


int64   (2002-10-04 02:09:00) [3]

TForm1 = class(TForm)
private
procedure WMSYSCOMMAND(var Message: TWMSYSCOMMAND); message WM_SYSCOMMAND;
{ Private declarations }
public
{ Public declarations }
end;

...

procedure TForm1.WMSYSCOMMAND(var Message: TWMSYSCOMMAND);
begin
if (Message.CmdType=SC_MINIMIZE) then
Beep;
inherited;
end;


Вообщето, ели не получается, надо писать, как пробуешь.


Наверх

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