wc.cbSize:=sizeof(wc);
wc.style:=cs_hredraw or cs_vredraw;
wc.lpfnWndProc:=@wndproc;
wc.cbClsExtra:=0;
wc.cbWndExtra:=0;
wc.hInstance:=0;*1
wc.hIcon:=loadicon(0,idi_application);
wc.hCursor:=loadcursor(0,idc_arrow);
wc.hbrBackground:=color_btnface+1;
wc.lpszMenuName:=nil;
wc.lpszClassName:='nmn window';
registerclassex(wc);
window:=createwindowex(0,'nmn window',
'spidometr',
ws_visible or ws_popup or ws_border or ws_thickframe,
100,
100,
100,
100,
0,
0,
hinstance,
nil);
//showwindow(window,sw_show);
updatewindow(window);
while getmessage(msg,0,0,0) do
begin
translatemessage(msg);*2
dispatchmessage(msg);*3
end;
окно в winapi
Код:
*1 Что такое hinstance?
*2,3 Объясните назначение этих функций. Последней функции я назначение думаю, что знаю - она посылает сообщение окну, а вот первая?
PS подскадите пож. справочник по api
1). hInstance - это, вроде, хэндл программы создающей окно, если 0 то твоя прога.
2). TranslateMessage помещает в очередь сообщений программы, как бы это сказать, коды того, на что ты нажал и т.д.
3). DispatchMessage отправляет сообщение из очереди на обработку соответствующей оконной процедуре.
4). "Microsoft Windows API справочник системного программиста" - автор Ричард Саймон.
2) TranslateMessage - преобразует сообщения о нажатии клавиш. Скан код нажатой клавиши преобразует в реальную букву/цифру, с учетом нажатых Shift, Caps Lock, etc. Кроме того эта функция вроде отвечает за генерацию сообщения WM_KEYPRESS.
http://msdn.microsoft.com - полезная штука