
13.12.2014, 04:51
|
 |
LMD-DML
|
|
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
|
|
Повторюсь, используйте LoadBitmap
Код:
program Fon;
uses Windows, Messages;
function MainWndProc(Window: HWnd; AMessage, WParam, LParam: Longint): Longint; stdcall;
begin
if AMessage = WM_DESTROY then
begin
PostQuitMessage(0);
Result:= 0;
Exit;
end else
Result:= DefWindowProc(Window, AMessage, WParam, LParam);
end;
{$R resources.res}
function InitApplication: Boolean;
var
wcx: TWndClass;
bmp: HBitmap;
begin
bmp:= LoadBitmap(hInstance,MAKEINTRESOURCE('FON'));
wcx.style:= CS_HREDRAW or CS_VREDRAW;
wcx.lpfnWndProc:= @MainWndProc;
wcx.cbClsExtra:= 0;
wcx.cbWndExtra:= 0;
wcx.hInstance:= hInstance;
wcx.hIcon:= LoadIcon(0, IDI_APPLICATION);
wcx.hCursor:= LoadCursor(0, IDC_ARROW);
wcx.hbrBackground:= CreatePatternBrush(bmp);
wcx.lpszClassName:= PChar('MainWClass');
Result:= RegisterClass(wcx) <> 0;
end;
function InitInstance: HWND;
begin
Result:= CreateWindow(PChar('MainWClass'),'Пример', WS_OVERLAPPEDWINDOW,
Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT), Integer(CW_USEDEFAULT),
Integer(CW_USEDEFAULT), 0, 0, hInstance, nil);
end;
var
hwndMain: HWND;
AMessage: msg;
begin
if (not InitApplication) then
MessageBox(0, 'Ошибка регистрации окна', nil, mb_Ok)
else
begin
hwndMain := InitInstance;
if (hwndMain = 0) then
MessageBox(0, 'Ошибка создания окна', nil, mb_Ok)
else
begin
ShowWindow(hwndMain, CmdShow);
UpdateWindow(hwndMain);
while (GetMessage(AMessage, 0, 0, 0)) do
begin
TranslateMessage(AMessage);
DispatchMessage(AMessage);
end;
end;
end;
end.
|