![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
wm_quit
Res © (2008-05-03 18:27:00)Здравствуйте, подскажите пожалуйста как словить сообщение "wm_quit", на winapi.
DVM (2008-05-03 19:53:00) [1]
> Res (03.05.08 19:33) [4]
> Незнаю я ваще как ловить сообщения.. до этого пользовался
> стандартными эвентами (VCL), но сейчас нужно на winapi.
программа вся тоже будет на API? Тогда в цикле сообщений как только GetMessage вернет 0 значит словили WM_QUIT. Вот пример программы на API. Тут правда нет анализа возврата некоторых функций.
program winmin;
uses
windows, messages;
var
wc: TWndClassEx;
MainWnd: HWND;
Mesg: TMsg;
function WindowProc(wnd: HWND; Msg: Integer; Wparam: Wparam; Lparam: Lparam): Lresult; stdcall;
begin
case msg of
WM_DESTROY:
begin
postquitmessage(0);
Result := 0;
exit;
end;
else
Result := DefWindowProc(wnd, msg, wparam, lparam);
end;
end;
var
xPos, yPos, nWidth, nHeight: Integer;
begin
wc.cbSize := SizeOf(wc);
wc.style := cs_hredraw or cs_vredraw;
wc.lpfnWndProc := @WindowProc;
wc.cbClsExtra := 0;
wc.cbWndExtra := 0;
wc.hInstance := HInstance;
wc.hIcon := LoadIcon(0, idi_application);
wc.hCursor := LoadCursor(0, idc_arrow);
wc.hbrBackground := COLOR_BTNFACE + 1;
wc.lpszMenuName := nil;
wc.lpszClassName := 'WndClass1';
RegisterClassEx(wc);
xPos:=100;
yPos:=150;
nWidth:=400;
nHeight:=250;
MainWnd:=CreateWindowEx(0,'WndClass1', 'Caption', ws_overlappedwindow,
xPos, yPos, nWidth, nHeight, 0, 0, Hinstance,nil);
ShowWindow(MainWnd, CmdShow);
while GetMessage(Mesg, 0, 0, 0)do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.
palva (2008-05-03 19:36:00) [2]У вас есть очередь сообщений? Вот там это сообщение и должно появиться.
Res (2008-05-03 19:33:00) [3]Незнаю я ваще как ловить сообщения.. до этого пользовался стандартными эвентами (VCL), но сейчас нужно на winapi.
Мистер Т (2008-05-03 19:24:00) [4]ну приведи код того, что знаешь...
Res (2008-05-03 18:38:00) [5]Если бы я знал, как любое ловить...
DVM (2008-05-03 18:31:00) [6]Так же как и любое другое. А что не получается то?