Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#21

AW: 1400 Error beim Erstellen eines Fensters via API

  Alt 8. Aug 2011, 11:59
Fundstelle:
Delphi-Quellcode:
procedure TSForm.Show();
var msg : TMsg;
begin
  with self.windowClass do // private und vom Typ TWndClass
  begin
    Style:= CS_HREDRAW or CS_VREDRAW;
    lpfnWndProc:= @TSForm.WindowProcedure; // protected und mit stdcall versehen
    cbClsExtra:= 0;
    cbWndExtra:= 0;
    hbrBackground:= COLOR_APPWORKSPACE;
    lpszMenuName:= nil;
    lpszClassName:= 'TestSWindow';
    hInstance := hInstance; // <============================ hier so die Ecke :)
    hIcon := LoadIcon(0, IDI_WINLOGO);
    hCursor := LoadCursor(0, IDC_ARROW);
  end;
  if RegisterClass(self.windowClass) = 0 then
    ShowMessage('Fensterklasse konnte nicht registriert werden ' + IntToStr(GetLastError));
  self.hwnd {private HWND} := CreateWindow('TestSWindow', PChar(self.appName) {public und vom Typ String}, WS_CAPTION or WS_VISIBLE or WS_SYSMENU, (GetSystemMetrics(SM_CXSCREEN) - self.w {private, Integer und im Create auf 400 gesetzt}) div 2, (GetSystemMetrics(SM_CYSCREEN) - self.h{private, Integer und im Create auf 500 gesetzt}) div 2, self.w, self.h, 0, 0, hInstance, nil);
  if self.hwnd = 0 then
    ShowMessage('Fenster konnte nicht erzeugt werden ' + IntToStr(GetLastError));
  // is ja egal ... komm ich nicht mal hin
  ExitCode := msg.wParam;
end;
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat