CheckBox in Grid



  • kann man in ein StringGrid oder DrawGrid eine CheckBox einbauen? Hatte mir damit ausgeholfen einfach CheckBoxes neben das Grid zu legen. Das geht natürlich nur für eine Seite des Grid. Ich will aber auch scrollen können und dafür bräuchte ich CheckBoxes in den Cells.



  • Hallo,

    akari hatte in diesem Thread bereits einen Link gepostet in dem detailliert beschrieben steht, wie das funktioniert.

    LG



  • das ist richtig, aber da werden einfach nur Komponenten erzeugt und an die gewünschte Position gelegt. In meinem Grid allerdings möchte ich ja, das ich auch scrollen kann was dann natürlich so nicht geht. Die Checkboxes sollen ja in den einzelnen Zellen stehen.



  • Hallo,

    dann nimm die Zelle als Parent und positionier die Checkbox absolut zur Zelle...

    LG



  • habs so versucht:

    void __fastcall TF_Futterprotokoll::FormShow(TObject *Sender)
    {
       AnsiString slNewCheckBoxNamePrefix = "CheckBox";
    
       TLMDCheckBox* pCmpTemp;
       for(int i=0;i<StringGrid1->RowCount-1;i++)
       {
          pCmpTemp=new TLMDCheckBox(this);
          pCmpTemp->Parent = StringGrid1->Cells[0][i+1];
          pCmpTemp->Name=slNewCheckBoxNamePrefix+AnsiString(i);
       }
    }
    

    Da erhalt ich aber den Fehler:

    [C++ Fehler] Futterprotokoll.cpp(61): E2034 Konvertierung von 'AnsiString' nach 'TWinControl *' nicht möglich
    


  • Das geht natürlich so nicht, Parent kann nur das StringGrid selbst sein, aber nicht der Inhalt einer Zelle eines StringGrids. Du musst aber die Positionierung der CheckBox noch selbst machen. Am besten wohl in der DrawCell() des StringGrids (bin mir da aber nicht ganz sicher...)



  • hmm ok. Hab mal versucht so eine Eigenschaft zu finden und hab mal die Hilfe danach durchforstet. Leider nichts gefunden. Wie ungefähr sieht das denn dann aus?



  • Hi,

    schau mal hier nach.


Anmelden zum Antworten