Announcement

Collapse
No announcement yet.

button in einem grid

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • button in einem grid

    ich möchte einen button in einem Grid definieren.
    mein Problem: bei der aktuellen Definition wird der Button aber links oben im TForm angezeigt.

    Bei //2. oder //3. wird der Button in der Grid-Zelle angezeigt, aber der Event funktioniert nicht mehr. Kann mir jemand helfen? Danke

    /* StringGrid1 is defined in a GroupBox4 in TForm1 */
    pEllipseBtn = new TButton(this);
    pEllipseBtn->Parent = this;
    //2. pEllipseBtn->Parent = this->StringGrid1;
    //3. pEllipseBtn->Parent = StringGrid1;
    pEllipseBtn->Visible = false;
    pEllipseBtn->TabStop = false;
    pEllipseBtn->OnClick = EllipseBtnClicked;

    Gruss Robert.

  • #2
    http://www.bytesandmore.de/rad/cpp/snipp/sc02038.ph
    Christian

    Comment


    • #3
      genau daher hab ich die Routinen.
      Aber mein Grid ist in einer Groupbox definiert.
      in dem Code Beispiel wird der Button mit (this) erzeugt. ich denke das ist die Adresse vom TForm window

      Comment


      • #4
        Na dann schreibe statt this den Objektnamen hin. TButton ist

        __fastcall virtual TButton(Classes::TComponent* AOwner);

        Also schreib den richtigen Qwner, das Grid, rein.
        pEllipseBtn->Parent = this;
        //2. pEllipseBtn->Parent = this->StringGrid1;
        //3. pEllipseBtn->Parent = StringGrid1;

        Hier kommt der Vater rein -> das Grid.

        Im Grid musst du dann bei

        OnDrawCell(int ACol,int ARow,const TRect &modi, TGridDrawState State)

        reagieren und den Button zeichnen.

        Schau hier rein

        http://www.marquardtnet.info/cecke/komponenten.2/2_extendedstringgrid.html

        Da ist ein Beispiel mit Checkboxen.

        Wer soll hier irgendwas dazu sagen, warum der Event nicht geht.

        Dazu fehlt der komplette Quelltext mit den Headern?
        &#10
        Christian

        Comment

        Working...
        X