Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.006 c
15-1208234279
Slider007
2008-04-15 08:37
2008.05.25
С днем рождения ! 15 апреля 2008 вторник


2-1209299390
Азат
2008-04-27 16:29
2008.05.25
простая работа с графикой


2-1208965466
Johnnnnnn
2008-04-23 19:44
2008.05.25
input type=file change value, kak?


2-1209288486
hahol_64_rus
2008-04-27 13:28
2008.05.25
DBImage


2-1209470106
ekto
2008-04-29 15:55
2008.05.25
Нарисовать линию на рабочем столе,





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский