Код | { Данный код был спроектирован в среде APIx - Visual WinAPI 2 Copyright (c) PiddleSoft 2004-2006 http://piddlesoft.narod.ru [email protected]
Дата генерации листинга - 20.04.2007 17:30:57 }
program APIx_Project1;
uses windows, messages, commctrl; //Используемые модули
// Иконка {$R 'icon.res'}
var WinClass : TWndClass; //переменная класса TWndClass для создания главного окна hInst : HWND; //хандлер приложения Handle : HWND; //локальный хандлер Msg : TMSG; //сообщение Bmp : HBITMAP; hFont : HWND; //хандлер шрифта Image1 : HWND; //TImage
{$R 'C:\Program Files\APIx 2 - Visual WinAPI\temp\bitmaps.res'} procedure ShutDown; //процедура завершения программы begin DeleteObject(hFont); //удаление шрифта UnRegisterClass('TAPIxForm', hInst); //удаление окна ExitProcess(hInst); //закрытие программы end;
function WindowProc(hwnd, msg, wparam, lparam: longint): longint; stdcall; //обработчик сообщений begin Result := DefWindowProc(hwnd, msg, wparam, lparam); case Msg of
WM_DESTROY: ShutDown; end; end;
begin hInst := GetModuleHandle(nil); with WinClass do begin Style := CS_PARENTDC; //стиль класса главного окна hIcon := LoadIcon(hInst, MAKEINTRESOURCE('APIXICON')); //иконка программы lpfnWndProc := @WindowProc; //назначение обработчика сообщений hInstance := hInst; hbrBackground := COLOR_BTNFACE + 1; //цвет окна lpszClassName := 'TAPIxForm'; //класс окна hCursor := LoadCursor(0, IDC_ARROW); //активный курсор end; InitCommonControls; RegisterClass(WinClass); //регистрация класса в системе
// Создание главного окна программы Handle := CreateWindowEx(0, 'TAPIxForm', 'Форма1', WS_OVERLAPPEDWINDOW or WS_VISIBLE or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SYSMENU, 219, 116, 550, 366, 0, 0, hInst, nil);
// Создание шрифта hFont := CreateFont( -11, 0, 0, 0, 0, 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH or FF_DONTCARE, 'MS Sans Serif');
Image1 := CreateWindow( 'Static', '' , WS_CHILD or SS_BITMAP or WS_VISIBLE, 16, 16, 513, 305, Handle, 0, hInst, nil); SendMessage(Image1, WM_SETFONT, hFont, 0);
// Цикл сбора сообщений while(GetMessage(Msg, 0, 0, 0)) do begin TranslateMessage(Msg); //прием сообщений DispatchMessage(Msg); //удаление сообщений из очереди end; end.
|
|