Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#1

TADVGroupBox und biHelp

  Alt 19. Mär 2013, 10:35
Hi,
ich hab da mal ein...ungewöhnliches Problem. Ich will biHelp nutzen, um erklärende Texte zu diversen Controls auf einem einfachen Dialog anzuzeigen. Das funktioniert richtig gut, bis auf TADVGroupBoxen. Die reagieren gar nicht auf den Hilfsmauszeiger.
Kurz zur Umsetzung, die ich bisher nutze:
  • alle fraglichen Controls haben den gewünschten Text in der Hint-Property
  • ShowHint ist False
  • Jedes fragliche Control hat einen eigenen Wert in HelpContext
  • biHelp ist natürlich aktiviert und steht alleine, also kein biMaximize oder biMinimize
Ausserdem führe ich diesen Messagehandler für WM_Help aus:
Delphi-Quellcode:
procedure TMyDialog.ShowMyHelp(var message: TMessage);
var
  hhPopup: THH_Popup;
  myControlHandle: THandle;
  myMousePos: TPoint;
begin
  hhPopup.cbStruct := SizeOf(hhPopup);
  hhPopup.hInst := 0;
  hhPopup.idString := 0;
  myControlHandle := PHelpInfo(message.lParam)^.hItemHandle;
  myMousePos := PHelpInfo(message.lParam)^.MousePos;
  hhPopup.pszText := PWideChar(FindControl(myControlHandle).Hint);
  hhPopup.pt := myMousePos;
  hhPopup.clrForeground := COLORREF(-1);
  hhPopup.clrBackground := COLORREF(-1);
  hhPopup.rcMargins := Rect(-1, -1, -1, -1);
  hhPopup.pszFont := '';
  HtmlHelp(Self.Handle, nil, HH_DISPLAY_TEXT_POPUP, dword(@hhPopup));
end;
Wie gesagt, für andere Controls wie Buttons oder auch Memos geht das...nur nicht für die ADVGroupBoxes...jemand eine Idee? Sources zu den ADV hab ich, falls ich da rein müsste.

Sherlock
PS:
Crosspost zu http://www.tmssoftware.com/site/foru...box-and-bihelp
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat