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

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

Как совершить перехват Message? [D6, Win95/98]


npAKTuk ©   (2003-11-07 06:43:00) 

по факам понятно как отловить Message по winApi.
а как можно запретить его выполнение ?

на пример, юзер щелкает на кнопку закрытия окна, а окно не закрывается тк Windows не получил сообщение на закрытие.

кто сталкивался помогите мыслей или лучше примером


kDenis   (2003-11-07 14:29:00) [1]

Кидай на форму TApplicationEvents и лови нужные сообщения, только незнаю какие...
Выглядеть это будет примерно так:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if(msg.message=WM_SYSCOMMAND)and(msg.wParam=SC_Close)then
Handled:=true;
end;


Только вместо WM_SYSCOMMANDи SC_Closeнужно поставить что-то более правильное...


Holy   (2003-11-07 14:06:00) [2]

Во-первых wm_Close передается оконной функции. Во-вторых теоретически можно удалить сообщение из очереди, но практически я это не пробовал...+


Наверх

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