Форум: "Начинающим";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
Внизwm_quit Найти похожие ветки
← →
Res (2008-05-03 18:27) [0]Здравствуйте, подскажите пожалуйста как словить сообщение "wm_quit", на winapi.
← →
DVM © (2008-05-03 18:31) [1]Так же как и любое другое. А что не получается то?
← →
Res (2008-05-03 18:38) [2]Если бы я знал, как любое ловить...
← →
Мистер Т (2008-05-03 19:24) [3]ну приведи код того, что знаешь...
← →
Res (2008-05-03 19:33) [4]Незнаю я ваще как ловить сообщения.. до этого пользовался стандартными эвентами (VCL), но сейчас нужно на winapi.
← →
palva © (2008-05-03 19:36) [5]У вас есть очередь сообщений? Вот там это сообщение и должно появиться.
← →
DVM © (2008-05-03 19:53) [6]
> 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.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c