Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ComboBox Liste: Lange Texte mit ToolTip (https://www.delphipraxis.net/69429-combobox-liste-lange-texte-mit-tooltip.html)

bond045 15. Mai 2006 08:01


ComboBox Liste: Lange Texte mit ToolTip
 
Hi,
ich hab das Problem, dass in meiner ComboBox Texte stehen, die länger sind, als die ComboBox breit ist. Da ich die ComboBox nicht breiter machen will ("Style Guide" ;-)) wäre denke ich ein ToolTip (wie bei der ListView) ganz gut, der bei zu langen Texten über dem entsprechenden Eintrag erscheint.

Das Problem dabei ist jetzt, im richtigen Moment den ToolTip anzuzeigen (naja "wie" weiß ich auch noch nich, aber dazu später). Also ich meine den Moment, wenn man die Liste der ComboBox aufgeklappt hat und mit der Maus (oder Tastatur) die Einträge durchgeht, so dass sie fokussiert (oder selektiert) angezeigt werden. Ich meine also nicht das Auswählen oder Anklicken.
Das einzige, was ich bisher gefunden habe ist das hier:

Delphi-Quellcode:
procedure T_ComboBox.WMDrawItem(var Message: TWMDrawItem);
begin
  if Message.DrawItemStruct.CtlType = ODT_LISTBOX then
    if Message.DrawItemStruct.itemState = ODS_SELECTED then
      if Canvas.TextWidth(Items[Message.DrawItemStruct.itemID]) > ClientWidth - 10 then
        //ToolTip anzeigen
end;
Das würde auch funktionieren, aber dann müßte ich auch alles selbst zeichen, weil die Message "WM_DrawItem" nur im Owner-Draw-Style ausgelöst wird.

Vielen Dank für Eure Vorschläge!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 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