AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Combobox Item als Hint

Ein Thema von Sanchez · begonnen am 11. Mär 2004 · letzter Beitrag vom 18. Okt 2005
Antwort Antwort
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#1

Combobox Item als Hint

  Alt 11. Mär 2004, 15:09
Hallo zusammen,

Ich hab eine Combobox, in der die Items meistens breiter als die Box sind.
Jetzt möchte ich den den Hint auf den Inhalt des ausgewählten Items setzen.

Der Hint soll auch gesetzt werden, wenn die ComboBox aufgeklappt ist und sich die Maus auf einem Item befindet. Leider konnte ich kein Event finden in dem ich das machen könnte.

Vielleicht weiss von euch einer wie man das machen könnte.

grüße, daniel
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Combobox Item als Hint

  Alt 11. Mär 2004, 20:10
Hallo

Du könntest die Breite des aufgeklappten Bereichs ändern
ComboBox1.Perform(CB_SETDROPPEDWIDTH,Breite,0); dann siehst du schon mal mehr von den Einträgen (notwendige Länge kannst du mit Canvas.textwidth und dem breitesten Item ermitteln).

im Onchange und onselectereignis könntest du noch den hint der Eingabe festlegen. Es fehlen die mousemove-ereignisse, um in einer Combobox hints entsprechen der Items anzuzeigen. Für Listboxen gibts schon was im Forum Hier im Forum suchenlistbox hint.

Wenn du für jeden Eintrag einen Hint anzeigen willst, wär vielleicht noch ondrawitem eine Möglichkeit. Frag dort ab, ob das Item "selektiert" dargestellt werden soll (also ist die mouse drüber) und bau den hint so auf, wie bei den Codebsp bei der Listbox.

Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Sliver

Registriert seit: 27. Jul 2004
18 Beiträge
 
#3

Re: Combobox Item als Hint

  Alt 18. Okt 2005, 14:18
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?
  Mit Zitat antworten Zitat
Sliver

Registriert seit: 27. Jul 2004
18 Beiträge
 
#4

Re: Combobox Item als Hint

  Alt 18. Okt 2005, 15:03
So und auch schon was gefunden im Internet:
http://delphi.about.com/library/weekly/aa102604a.htm

Hat zwar ein paar kleine Makel, aber muss man halt noch ein bisschen rumbasteln.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz