StringGrid und Dynamische Combobox



  • habs danke der FAQ geschaft dynamische Comboboxen zu erstellen,
    doch leider hab ich keinen plan wie ich sie in die Zellen des Stringgrids einbetten kann

    mein bisheriger code sieht so aus:

    int xts = 1;
          cbx_Felder.push_back( new TComboBox(this) );
          (*cbx_Felder.at( cbx_Felder.size()-xts )).Parent = this; ;
          (*cbx_Felder.at( cbx_Felder.size()-xts )).Items->Add(">DROPDOWNBOX<");
          (*cbx_Felder.at( cbx_Felder.size()-xts )).Top = StringGrid1->Top -25;
          (*cbx_Felder.at( cbx_Felder.size()-xts )).Left = --y * 145 +15;
          (*cbx_Felder.at( cbx_Felder.size()-xts )).Show();
    


  • Es ist nicht sinnvoll, für jede Zelle eine eigene ComboBox anzulegen. Eine CB reicht, die dann jeweils in der selektierten Zelle angezeigt und mit den entsprechenden Daten gefüllt wird. Die Daten selbst können z.B. in einem dynamischen Array von StringLists oder einem mehrdimensionalen vector von AnsiString o.ä. vorgehalten werden.

    Hier findest du ein Beispiel für eine entsprechend erweiterte von TStringGrid abgeleitete Komponente, der Code lässt sich aber ggf. leicht so umbauen, dass er auf ein normales StringGrid angewandt werden kann.


Anmelden zum Antworten