ListBox: Selektierter Eintrag immer oben
-
Hallo,
wenn ich beim BCB 5 in der Listbox per Pfeil runter- oder raufscrolle möchte ich, das der oberste angezeigte Eintrag selektiert wird.
Das Problem hört sich banal an, doch irgendwie bring ich zur Zeit nichts Gescheits auf die Reihe.
Für kreative Vorschläge bin ich dankbar.
Gruß Dutchman
-
Hallo
siehe TListBox::TopIndex und TListBox::ItemIndex
bis bald
akari
-
Hallo,
erstmal Danke für die schnelle Reaktion. Dass das über TopIndex und ItemIndex gelöst werden kann/muss war mir klar, doch hinbringen tu ich es nicht. Zur genaueren Beschreibung:
In meiner ListBox sind ne ganze Menge Einträge. Die Höhe der Listbox habe ich aus optischen Gründen auf eine Zeilenhöhe begrenzt und erweitere diese auf einen Mausclick hin.
Wird nun mit der Maus ein Eintrag ausgewählt, so steht dieser auch oben. Scrollt man aber mit den Pfeilen rauf oder runter, so bleibt jedoch der vorher gewählte Eintrag aktiv.void __fastcall TFZK_Drehen::LB_WerkstoffClick(TObject *Sender) { if (LB_Werkstoff->Height==19 && v%2==0) {LB_Werkstoff->Height=300; LB_Werkstoff->BringToFront();} if (LB_Werkstoff->Height==300 && v%2==1) {LB_Werkstoff->Height=19;} v=v+1; int n; n=LB_Werkstoff->ItemIndex; LB_Werkstoff->TopIndex=n; }Wenn ich nun also so etwas wie
int x; x=ListBox->TopIndex; ListBox->ItemIndex=x;schreibe, komme ich damit in Konflikte...
-
Dutchman schrieb:
... Die Höhe der Listbox habe ich aus optischen Gründen auf eine Zeilenhöhe ...
Warum nimmst du keine TComboBox in dem Fall?
-
Weil ich ein wenig blöd bin

Bin noch nicht lange beim Programmieren, die ComboBox habe ich total übersehen.
Danke!Nur noch eine Frage: Wie Frage ich bei der ComboBox am besten ab, ob ein Eintrag ausgewählt wurde, be der Listbox habe ich das immer so gemacht:
if (ListBox->Items->Strings[ListBox->ItemIndex]!="- - Auswahl - -") {.....}doch wie sieht das nun bei der ComboBox aus?, da ist mein erster Eintrag ja nicht die "Überschrift"...
-
Hallo
schau doch in die Hilfe zu TComboBox. Du kannst genau dieselbe Abfrage auch in der ComboBox machen, oder du kannst auch gleich TComboBox::Text nehmen.
bis bald
akari
-
Habe nicht gedacht, dass ich das mit "Text" abfragen kann.
Somit sind alle meine Fragen beantortet, jetzt nuss ich nur noch mein Programm ein wenig ändern...Nochmal Danke für die schnellen Antworten
Gruß Dutchman