Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.25;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
2-1209088087
San1712
2008-04-25 05:48
2008.05.25
Как программно выделить строку в компоненте TListView ?


2-1209395086
Kolan
2008-04-28 19:04
2008.05.25
Как узнать вызоту заголовка окна?


2-1209890097
lead-in
2008-05-04 12:34
2008.05.25
2dbf


2-1209892032
filin2323
2008-05-04 13:07
2008.05.25
скрытие формы


2-1209748683
Res
2008-05-02 21:18
2008.05.25
RegSetValueEx && REG_DWORD