Можно выводить картинку, например с помощью файла ресурсов .res.
| Код | program bmp;
uses windows, messages; //Используемые модули {$R 'resurs.res'}
var WinClass : TWndClass; //переменная класса TWndClass для создания главного окна hInst : HWND; //хандлер приложения Handle : HWND; //локальный хандлер Msg : TMSG; //сообщение Bmp : HBITMAP; hFont : HWND; //хандлер шрифта Image1 : HWND; //TImage
//обработчик сообщений 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 hInst := GetModuleHandle(nil); with WinClass do begin Style := CS_PARENTDC; //стиль класса главного окна hIcon := LoadIcon(hInst, IDC_ARROW); //иконка программы lpfnWndProc := @WindowProc; //назначение обработчика сообщений hInstance := hInst; hbrBackground := COLOR_BTNFACE + 1; //цвет окна lpszClassName := 'Main_Window'; //класс окна hCursor := LoadCursor(0, IDC_ARROW); //активный курсор end; //InitCommonControls; RegisterClass(WinClass); //регистрация класса в системе
// Создание главного окна программы Handle := CreateWindowEx(0, 'Main_Window', 'Форма1', WS_OVERLAPPEDWINDOW or WS_VISIBLE or WS_MINIMIZEBOX or WS_MAXIMIZEBOX or WS_SYSMENU, 219, 116, 547, 364, 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, 8, 8, 465, 281, Handle, 0, hInst, nil); SendMessage(Image1, WM_SETFONT, hFont, 0); Bmp := LoadBitmap(hInstance, MAKEINTRESOURCE('IMAGE1')); // название в ресурсе SendMessage(Image1, STM_SETIMAGE, IMAGE_BITMAP, Bmp);
// Цикл сбора сообщений while(GetMessage(Msg, 0, 0, 0)) do begin TranslateMessage(Msg); //прием сообщений DispatchMessage(Msg); //удаление сообщений из очереди end; end.
|
Можно так же выводить картинки с помощью GDI+, для это нужно использовать GDIPAPI и GDIPOBJ.
P.S> У Вас есть рабочий пример MDI окна на WinAPI ?
|