Способы создания окна через WINAPI

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Способы создания окна через WINAPI

Сообщение victorgugo » 11.08.2009 16:27:06

Всем доброго времени суток!
Работаю преимущественно в среде Lazarus, используя визуальные компоненты. Но решил попробовать создавать окна через WINAPI. Особых проблем не было. Но при запуске программы сначала выскакивает консоль и только потом создаётся окно. Можно ли избежать появления консоли? Заранее спасибо!
Lazarus-0.9.27-21081-fpc-2.2.5-20090803-win32
WINXP SP3

Листинг программы:
Код: Выделить всё
Program Api;
{$MODE DELPHI}
uses
windows, messages;
var
window:TWndClassEx;
Mwindow: HWND;
Mmsg: MSG;


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;

begin
window.cbSize := sizeof (window);
window.style := CS_HREDRAW or CS_VREDRAW;
window.lpfnWndProc := @WindowProc;
window.cbClsExtra := 0;
window.cbWndExtra := 0;
window.hInstance := HInstance;
window.hIcon := LoadIcon (0,IDI_APPLICATION);
window.hCursor := LoadCursor (0,IDC_ARROW);
window.hbrBackground:=Color_BtnFace+12;
window.lpszMenuName := nil;
window.lpszClassName := 'Main_Window';
RegisterClassEx (window);
Mwindow := CreateWindowEx(0,'Main_Window','First_WinAPI_Programm', WS_OVERLAPPEDWINDOW,100,100,300,300,0,0,Hinstance,nil);
SHOWWINDOW (Mwindow,SW_Show);
while GetMessage (Mmsg,0,0,0) do
begin
TranslateMessage (Mmsg);
DispatchMessage (Mmsg);
end;
end.
victorgugo
новенький
 
Сообщения: 17
Зарегистрирован: 04.03.2009 03:11:20

Re: Способы создания окна через WINAPI

Сообщение Ranma » 11.08.2009 16:39:08

кажется надо добавить директиву в начале:
{$APPTYPE GUI}
Ranma
незнакомец
 
Сообщения: 4
Зарегистрирован: 11.03.2009 10:53:08

Re: Способы создания окна через WINAPI

Сообщение victorgugo » 11.08.2009 16:43:37

Ranma писал(а):кажется надо добавить директиву в начале:{$APPTYPE GUI}


Именно так!
Очень очень большое спасибо!
victorgugo
новенький
 
Сообщения: 17
Зарегистрирован: 04.03.2009 03:11:20


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru