Ist zwar schon ein älteres Topic. Aber ich schreib jetzt trotzdem hier hinein, da ich genau dasselbe Problem habe.
Ich habe folgendes versucht:
Delphi-Quellcode:
procedure TForm1.Combobox1(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
olh:String;
begin
with Combobox1 do begin
Canvas.Brush.Style:=bsSolid;
Canvas.FillRect(Rect);
Canvas.TextRect(Rect, Rect.Left, Rect.Top,Items[Index]);
olh:=Hint;
if (index<=Items.Count-1) then
Hint:=Items.Strings[Index]
else
Hint:='';
if Hint<>olh then
Application.CancelHint;
end
end;
Mit dieser Methode wird wohl der richtige Hint dem richtigen Eintrag zugewiesen. Das Problem ist aber, dass dieser Hint erst angezeigt wird, wenn man die Combobox schliesst und mit der Maus darüberfährt. Gibt es jetzt irgendeine Möglichkeit, den Hint anzeigen zu erzwingen?