Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно зарегистрировать класс? [D5]


Страницы:   1 2

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 говорит проверять надо.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо