Code: |
// 2. Написать подпрограмму обработки оконных сообщений.
function MainWndProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall; export; begin //подпрограмма обработки сообщений case AMessage of WM_DESTROY: begin PostQuitMessage(0); Exit; end; else Result := DefWindowProc(Window, AMessage, WParam, LParam); end; end; |
Code: |
// 3. Создать главное окно приложения.
function InitInstance: HWND; begin // Создаем главное окно. Result := CreateWindow( // имя класса окна PChar(WinName), // заголовок 'Small program', // стандартный стиль окна WS_OVERLAPPEDWINDOW, // стандартные горизонтальное, вертикальное положение, ширина и высота Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), 0,//нет родительского окна 0,//нет меню hInstance, // handle to application instance nil); // no window-creation data end; |
Code: |
// 4. Написать тело программы.
var hwndMain: HWND; AMessage: msg; begin if (not InitApplication) then begin MessageBox(0, 'Ошибка регистрации окна', nil, mb_Ok); Exit; end; hwndMain := InitInstance; if (hwndMain = 0) then begin MessageBox(0, 'Ошибка создания окна', nil, mb_Ok); Exit; end else begin // Показываем окно и посылаем сообщение WM_PAINT оконной процедуре ShowWindow(hwndMain, CmdShow); UpdateWindow(hwndMain); end; while (GetMessage(AMessage, 0, 0, 0)) do begin //Запускаем цикл обработки сообщений TranslateMessage(AMessage); DispatchMessage(AMessage); end; Halt(AMessage.wParam); end. // 5. Запустить программу на исполнение. ;) |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!