Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

PropertySheet blinkt nur kurz auf

  Alt 4. Sep 2008, 11:26
Hi,

Ich versuche gerade so einen PropertySheet Dialog zu erstellen. Das ganze ist im Moment zu Testzwecken nur so dahin geklatscht:

Delphi-Quellcode:
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;
Der Dialog blinkt nur kurz auf und ist dann auch schon wieder verschwunden.
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?
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat