Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

nonVCL Kontextsensitive Hilfe unter Vista

  Alt 18. Jun 2007, 00:46
Mir wurde berichtet, dass meine kontextsensitive Hilfe in meinem Usermanager nicht funktioniert. da ich selber kein Vista habe hier mal der relevante Code, eventuell sieht da ja jemand den Fehler oder kann ihn zu mindest nachstellen:
Delphi-Quellcode:
    WM_HELP:
begin
  ShowHelpHandle(PHelpInfo(lParam)^.hItemHandle, PHelpInfo(lParam)^.dwContextId);
end;

procedure ShowHelpHandle(ChildHandle: THandle; ContextId: Integer);
const
  marginrect : TRect = (Left: - 1; Top: - 1; Right: - 1; Bottom: - 1);
var
  Popup : THHPopup;
  URL : string;
  rect: TRect;
  pt: TPoint;
begin
  URL := '::/popup.txt';

  if (ContextId >= 0) then
  begin
    FillChar(Popup, SizeOf(Popup), 0);
    Popup.cbStruct := SizeOf(Popup);
    Popup.hinst := 0;
    Popup.idString := 0;

    Popup.pszText := PChar(ContextInfo[ContextId]);

    GetWindowRect(ChildHandle, rect);
    pt.X := rect.Left + 100;
    pt.Y := rect.Top + 25;
    Popup.pt := pt;
    Popup.clrForeGround := TColorRef(-1);
    Popup.clrBackground := TColorRef(-1);
    Popup.rcMargins := marginrect;
    Popup.pszFont := '';

    HtmlHelp(0, @URL[1], HH_DISPLAY_TEXT_POPUP, dword(@Popup));
  end;
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat