Главная страница
    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.007 c
2-1208955685
Кирей
2008-04-23 17:01
2008.05.25
не срабатывает простой запрос


2-1209670456
Jebiga
2008-05-01 23:34
2008.05.25
Как работать с GIF файлами?


2-1209047959
bagos
2008-04-24 18:39
2008.05.25
autocad


2-1209032542
Int23
2008-04-24 14:22
2008.05.25
Как убрать расшареное имя с папки


15-1208168919
Ломброзо
2008-04-14 14:28
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский