![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Про перехват системных сообщений...
Kettle of delphi © (2002-03-05 15:45:00)Вот:
...
...
...
private
{ Private declarations }
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
...
...
...
procedure TForm1.WMSysCommand;
begin
Edit1.Text := IntToStr(Msg.CmdType);
inherited;
end;
...
...
...
А нельзя ли как-нибудь сделать, чтобы получать не числа, а слова (например: SC_MINIMIZE, SC_MAXIMIZE, SC_CLOSE)?
Kettle of delphi (2002-03-05 17:30:00) [1]Ух ты, какой фокус с Ctrl + Click! :)))
Виктор Щербаков (2002-03-05 16:15:00) [2]
> Я имел в виду, что программой как раз буду пользоваться,
> чтобы выяснить эти сымые SC_MINIMIZE, SC_MAXIMIZE, SC_CLOSE
> и другие слова-команды
Это не слова комманды. Чтобы увидеть, что это такое - в редакторе кода сделай на них Ctrl + Click.
> Но, может быть, виндовс только и посылает индексы, а сами
> слова - это лишь "для удобства"
Так оно и есть.
Kettle of delphi (2002-03-05 16:08:00) [3]:))) Я имел в виду, что программой как раз буду пользоваться, чтобы выяснить эти сымые SC_MINIMIZE, SC_MAXIMIZE, SC_CLOSE и другие слова-команды! На данный момент я могу, как видно из кода, узнать индекс сообщения (Integer). Как узнать КОМАНДНОЕ СЛОВО - вот, в чем вопрос :)
Но, может быть, виндовс только и посылает индексы, а сами слова - это лишь "для удобства" и связаны они только с конкретной средой разработки? Если так, тогда вопрос: истинно ли то, что индекс на, например, "закрытие" окна во всех версиях виндовс одинаков?
Виктор Щербаков (2002-03-05 15:50:00) [4]procedure TForm1.WMSysCommand;
begin
case Msg.CmdType of
SC_MINIMIZE:
Edit1.Text := "SC_MINIMIZE";
SC_MAXIMIZE:
Edit1.Text := "SC_MAXIMIZE";
SC_CLOSE:
Edit1.Text := "SC_CLOSE";
end;
inherited;
end;