Program okienkowy w Dev-Pascalu

0

witam
Jak się wykonuje programy okienkowe (nie wiem czy się tak to nazywa) w Dev-Pascalu lub Lazurusie ?
W Lazusrusie jest jakiś moduł do którego się to robi metodą przeciągnij i wrzuć ale kompletnie nie wiem gdzie to mam ustawiać ? [glowa]
Z góry dziękuję za każdą pomoc.

0

W Dev-Pascalu można używając modułu Windows zrobić prostą aplikację okienkową. Ja skompilowałem ten
kod z Wstęp do programowania w WinAPI - tak jak poniżej. No i jedyne
co dodałem to AppTYPE aby nie pokazywało się okno konsoli oraz usunąłem z sekcji uses moduł Messages.

program WndApp;

{$APPTYPE GUI}

uses
  Windows;


function WndProc(Wnd: HWND; uMsg: UINT; wPar: WPARAM; lPar: LPARAM): LRESULT; stdcall;
begin
{ na początek zwracamy wartość 0 - meldunek jest przetwarzany }
  Result := 0;
  case uMsg of
   { tutaj, w tym miejscu należy obsłużyć należne komunikaty }
   { w funkcji DefWindowProc przekazujemy takie same parametry jak w funkcji okienkowej }
    WM_DESTROY: PostQuitMessage(0);
    else Result := DefWindowProc(Wnd, uMsg, wPar, lPar);
  end;
end;

var
  Wnd: TWndClass;  // klasa okna
  Msg: TMsg;

begin
  with Wnd do
  begin
    lpfnWndProc := @WndProc; // funkcja okienkowa
    hInstance := hInstance; // uchwyt do zasobów
    lpszClassName := 'My1stApp'; // klasa
    hbrBackground := COLOR_WINDOW; // kolor tła
  end;

  RegisterClass(Wnd); // zarejestruj nowa klasę

// stwórz formę...
  CreateWindow('My1stApp', 'Program pierwszy w WinAPI',
        WS_VISIBLE or WS_TILEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
        0, 0, hInstance, NIL);

  while GetMessage(msg, 0, 0, 0) do DispatchMessage(msg);
end.
0

Dzięki trzeba będzie teraz to przeanalizować :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1