Einzelnen Beitrag anzeigen

bond045

Registriert seit: 7. Okt 2004
3 Beiträge
 
#1

ComboBox Liste: Lange Texte mit ToolTip

  Alt 15. Mai 2006, 08:01
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!
  Mit Zitat antworten Zitat