Главная страница
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.016 c
2-1209809087
framez
2008-05-03 14:04
2008.05.25
Run Time


3-1197919573
Taurus
2007-12-17 22:26
2008.05.25
Проблема скорости работы


15-1207712843
tButton
2008-04-09 07:47
2008.05.25
Жуткие кристалы


3-1198050542
Андрей Пл
2007-12-19 10:49
2008.05.25
не выполняеться запрос типа select * , device from BRIEFCASE


2-1209796997
NieL
2008-05-03 10:43
2008.05.25
API-функция извлечения рекомендуемых программ