![]() |
CreateWindowEx liefert kein Handle
Hi,
Sorry das ich nerve aber bevor ich hier irgendwas kaputt mache muss ich meine Wut in Form dieses Threads loswerden. Ich erstelle mit CreateWindowEx ein Fenster:
Delphi-Quellcode:
var
WindowClass: TWndClassEx = (style: 0; lpfnWndProc: @WndProcDispatch; cbClsExtra: 0; cbWndExtra: 4; hIcon: 0; hCursor: 0; lpszMenuName: nil; hIconSm: 0; ); begin WindowClass.cbSize := SizeOf(TWndClassEx); WindowClass.lpszClassName := 'wnd'; WindowClass.hInstance := SysInit.hInstance; WindowClass.hbrBackground := GetSysColorBrush(COLOR_BTNFACE); RegisterClassEx(WindowClass); end;
Delphi-Quellcode:
So und ich in FHandle steht nachher ne 0. GetLastError sagt das alles in Ordnung ist. Generell ist überall alles in Ordnung außer das ich kein Handle kriege. Und vor ner verdammten (sry) halben Stunde gings noch und ich hab doch gar nix gemacht man :evil:
FHandle := CreateWindowEx(0,WindowClass.lpszClassname,WindowClass.lpszClassName,
WS_CAPTION or WS_SYSMENU or WS_SIZEBOX or WS_MAXIMIZEBOX or WS_MINIMIZEBOX, FLeft,FTop,FWidth,FHeight,HWND_DESKTOP,0,hInstance,nil); Also ich könnt ja an die Decke springen. Jetzt da quasi alle meine Probleme gelöst waren geht nix mehr :wall: HELFT MIR :wall: :evil: -.- Gruß Neutral General |
Re: CreateWindowEx liefert kein Handle
Delphi-Quellcode:
Was gibt dir denn RegisterClassEx als Result zurück ?
var
WindowClass: TWndClassEx = (style: 0; // <--<< sollte hier nich noch was hin ? lpfnWndProc: @WndProcDispatch; cbClsExtra: 0; cbWndExtra: 4; // <--<< was 'n das ??? hIcon: 0; hCursor: 0; lpszMenuName: nil; hIconSm: 0; ); begin WindowClass.cbSize := SizeOf(TWndClassEx); WindowClass.lpszClassName := 'wnd'; WindowClass.hInstance := SysInit.hInstance; WindowClass.hbrBackground := GetSysColorBrush(COLOR_BTNFACE); RegisterClassEx(WindowClass); end; Nur mal so nebenbei:
Delphi-Quellcode:
Klassenname und Fenstername sollen die selben sein ?
FHandle := CreateWindowEx(0,WindowClass.lpszClassname,WindowClass.lpszClassName, ...
|
Re: CreateWindowEx liefert kein Handle
Hi,
RegisterClassEx liefert ne Zahl <> 0. Ja das die Caption = dem Klassenname ist, ist schon richtig. Dürfte aber auch nichts ausmachen. |
Re: CreateWindowEx liefert kein Handle
Zitat:
Delphi-Quellcode:
var
wc : TWndClassEx = ( cbSize : SizeOf(TWndClassEx); Style : CS_HREDRAW or CS_VREDRAW; lpfnWndProc : @WndProc; cbClsExtra : 0; cbWndExtra : 0; hbrBackground : COLOR_APPWORKSPACE; lpszMenuName : nil; lpszClassName : ClassName; hIconSm : 0; ); |
Re: CreateWindowEx liefert kein Handle
Zitat:
Delphi-Quellcode:
noch Daten anhängen kann. Um genau zu sein einen Pointer. Und das hat ja bisher auch immer alles geklappt. Ich kapiers einfach nicht.
SetWindowLong(FHandle,GWL_USERDATA,Data);
Ach ja: Das angegebene WndProc springt sogar an. Es erhält nur keine WM_CREATE Message. Mit dem WindowHandle was ich da bekomme kann ich sogar Nachrichten an das Fenster senden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz