CheckBox zur Laufzeit-->OnKlick! Aber wie?



  • Hallo ich seit langem mal wieder!

    Also
    Mein Problem ist ...ich erstelle ein CheckBox in einer GroupBox...und will nun ein OnKlick ereigniss auf diese Checkbox auslösen...aber wie?

    So weit bin ich...:

    /---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm13 *Form13;
    
    TCheckBox *CheckBox1 = new TCheckBox(Form13);
    //---------------------------------------------------------------------------
    __fastcall TForm13::TForm13(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm13::FormCreate(TObject *Sender)
    {
    
    CheckBox1->Name="cb1";
    CheckBox1->Caption="bla";
    CheckBox1->Parent = GroupBox1;
    CheckBox1->Checked=true;
    

    wie kann ich dann ein Onklick ereigniss darauf auslösen?



  • Sieh mal in die FAQ



  • Also habs jetzt so gemacht...

    void __fastcall TForm13::FormCreate(TObject *Sender)
    {
    
    CheckBox1->Name="Recht";
    CheckBox1->Caption="neues Recht";
    CheckBox1->Parent = GroupBox1;
    CheckBox1->Checked=true;
    CheckBox1->OnClick = OnCheckBox1Click;
    

    und dann sagt er das OnCheckBox1Click ein undefiniertes Symbol ist...wo muss ich das denn definieren, mach ich das nich eigentlich in der zeile?

    Dazu finde ich auch in der FAQ keine Hilfe!



  • im header:

    private:
      void __fastcall MyCheckBoxClick(TObject *Sender);
    

    in cpp:

    void __fastcall TForm13::MyCheckBoxClick(TObject *Sender)
    {
      // mach was
    }
    

    beim erzeugen der CheckBox:
    [cpp]
    CheckBox1->Name = "Recht"; // brauchste glaub ich nicht
    CheckBox1->Caption = "neues Recht";
    CheckBox1->Parent = GroupBox1;
    CheckBox1->Checked = true;
    CheckBox1->OnClick = MyCheckBoxClick;
    [/cpp]



  • Hallo

    Die Referenz (CheckBox1) sollte besser als public Element in die Defnition von TForm13.

    TForm13.hpp

    class TForm13 : public TForm
    {
      ...
    
      TCheckBox *CheckBox1;
      __fastcall TForm13((TComponent* Owner);
      }
    

    und die Instanzierung in den Konstruktor

    __fastcall TForm13::TForm13(TComponent* Owner)
            : TForm(Owner)
    {
      CheckBox1 = new TCheckBox(this);
    }
    

    Warum erstellst du die CheckBox nicht zur Laufzeit?
    Dann kannst du die Events im Objekt-Inspektor per Doppelklock auf den Eventeintrag erstellen lassn.

    bis bald
    akari



  • @akari: ich erstell doch die CheckBox zur Laufzeit! Od meinst Entwicklungszeit?

    @ Sunday: danke hat funktioniert!



  • Hallo

    @akari: ich erstell doch die CheckBox zur Laufzeit! Od meinst Entwicklungszeit

    ja, meine natürlich Entwurfszeit. Hat aber kein Einfluß auf meinen Vorschlag.

    bis bald
    akari


Anmelden zum Antworten