LMDListBox



  • ich habe eine Listbox mit 2 Spalten und zwei Buttons "+" und "-". Der Button "+" soll eine neue Zeile erzeugen, das hab ich mit

    ListBox->Items->Add("-leer-");
    

    gelöst. Leider muss ich gleich was eintragen, da man sonst die angelegt Zeile nicht sieht. Nun möchte ich, dass bei zweimaligen Klick das entsprechende Feld editiert werden kann. Wie kann ich das lösen? Beim einmaligen Klicken soll die Zeile markiert werden, damit man sie mit dem Button "-" löschen kann.



  • Hi,
    - Ereignis suchen (zb. dblclick, oder so)
    - da man ja schon einen Eintrag in der Listbox selektiert hat, gibt es bestimmt auch ein "Index" 🕶
    - da gibt es doch auch "Value", oder so...

    Gruß Torsten



  • Ich möchte in dem Fall keinen doubleklick, da das Programm über eine Bildschirmtastatut bedient wird. EInen Index habe ich nicht gefunden. Beim ersten Klick auf die Zeile soll diese markiert werden (das funktioniert ja so schon) und beim nochmaligen Klick (kein doppelklick) soll die Zeile editiert werden.



  • Hi rudpower,
    ich weis ja nicht, ob Du es schon gelöst hast. Da Du ja nix mit Index findest und auch keinen Doppelklick möchtest, hier mal mein Vorschlag:
    Ich habe als erstes eine Variable für Form1 erstellt. Dieser Variablen sollte man den Wert -1 mitgeben, da der Index in einer ListBox bei 0 anfängt. Im OnClick-Ereignis der ListBox dann folgenden Code:

    if (vindex == ListBox1->ItemIndex) {
    	ListBox1->Items->Strings[vindex] = InputBox("Neuen Wert angeben","Wert","");
    
        }
    else vindex = ListBox1->ItemIndex;
    

    So gehts...

    Gruß Torsten



  • das funktioniert schon mal, danke. Am liebsten hätt ich aber, dass man ohne den Dialog das entsprechende Feld editieren kann.



  • habe mir überlegt vielleicht doch einfach eine StringGrid zu nehmen. Da kann man mit der Eigenschaft goEditing die einzelnen Zellen bearbeiten.
    Noch eine kleine Frage dazu: Ich habe nur 2 Spalten, nun möchte ich, das alle Einträge hintereinander in einer StringListe gespeichert werden. Zusammengehörige (in einer Reihe) sollen durch einen Doppelpunkt getrennt sein.



  • und wie lautet die Frage?



  • Die Frage lautet: Wie konnte ich nur den dazu passenden FAQ-Eintrag im Abschnitt StringGrid übersehen!?

    😉


Anmelden zum Antworten