![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно зарегистрировать класс? [D5]
ffo © (2006-08-28 00:21:00)Как мне правильно зарегистрировать класс BmpRgnWndClass?
procedure TForm1.Button1Click(Sender: TObject);
var
wndMain: hWnd;
w,h: DWORD;
wc : TWndClassEx;
begin
With wc do
begin
cbSize:=sizeof(wc); style:=CS_HREDRAW or CS_VREDRAW;
lpfnWndProc:=@WindowProc;
cbClsExtra:=0; cbWndExtra:=0;
hInstance:=hInstance; hIcon:=LoadIcon(0,IDI_APPLICATION);
hCursor:=LoadCursor(0,IDC_ARROW); hbrBackground:=COLOR_BTNFACE+1;
lpszMenuName:=nil; lpszClassName:='BmpRgnWndClass';
end;
RegisterClassEx(wc);
If RegisterClassEx(wc) = 0 then ShowMessage ('Класс не зарегистрирован');
wndMain:= CreateWindow('BmpRgnWndClass', 'Программа', WS_POPUP, 10, 10, 100, 100, 0, 0,hInstance,nil);
SetWindowPos(wndMain, hwnd_TopMost, 300, 0, 250, 70, SWP_NOACTIVATE );
// ShowWindow( wndMain, CmdShow);
// UpdateWindow (wndMain);
end;
Zeqfreed (2006-08-28 00:26:00) [21]Не сомневаюсь, что при повторной попытке зарегистрировать класс тебе возвращают 0. Почитал бы что говорит GetLastError, наверное что-то полезное.
guav (2006-08-28 00:26:00) [22]> hInstance:=hInstance;
Это пример о "вреде" with.
hInstance:=SysInit.hInstance
Возможно это не всё, что GetLastError говорит проверять надо.