![]() |
PropertySheet blinkt nur kurz auf
Hi,
Ich versuche gerade so einen PropertySheet Dialog zu erstellen. Das ganze ist im Moment zu Testzwecken nur so dahin geklatscht:
Delphi-Quellcode:
Der Dialog blinkt nur kurz auf und ist dann auch schon wieder verschwunden.
function PropSheetProc(Wnd: HWnd; Msg: Integer; WParam: WParam; LParam: LParam): Boolean; stdcall;
begin Result := true; end; procedure TForm1.Button1Click(Sender: TObject); var psp: TPropSheetpage; ps: TPropSheetHeader; page: Pointer; begin ZeroMemory(@psp,0); psp.dwSize := SizeOf(TPropSheetpage); psp.hInstance := hInstance; psp.dwFlags := PSP_DEFAULT or PSP_USEHEADERTITLE; psp.pfnDlgProc := @PropSheetProc; psp.pszHeaderTitle := 'Test'; page := CreatePropertySheetPage(psp); if page = nil then ShowMessage(SysErrorMessage(GetLastError)); ZeroMemory(@ps,0); ps.dwSize := SizeOf(TPropSheetHeader); ps.nStartPage := 0; ps.nPages := 1; ps.dwFlags := PSH_WIZARD97 or PSH_HEADER; ps.hwndParent := Handle; ps.hInstance := hInstance; ps.pszCaption := 'Test'; ps.phpage := @page; if PropertySheet(ps) = -1 then ShowMessage(SysErrorMessage(GetLastError)); end; Scheinbar wird die PropSheetProc niemals aufgerufen, denn wenn ich einen Haltepunkt reinsetze hält er nie an und wenn ich psp.dfnDlgProc = nil setze, verhält sich alles genauso. Was mache ich denn falsch? |
Re: PropertySheet blinkt nur kurz auf
Das Problem war die veraltete Definition von PSH_WIZARD97 und man muss den Dialog als Resource einbinden. In MSDN steht zwar, dass ein Dialogtemplate von Windows (?) geladen wird, wenn man nichts angibt, aber die blinkt scheinbar nur kurz auf und verschwindet dann....
Richtige Definition von PSH_WIZARD97 (ab IE5)
Delphi-Quellcode:
PSH_WIZARD97 = $01000000;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 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-2025 by Thomas Breitkreuz