Announcement

Collapse
No announcement yet.

ActiveMDIChild

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

  • ActiveMDIChild

    Hallo,wer kann mir helfen ?

    Wie kann ich in dem aktiven MDIChild einer Anwendung ein Control ansprechen?
    Mit ActiveMDIChild->Name bekomme ich den Namen des aktiven Fensters heraus,aber wenn ich zum Beispiel ein TreeView ansprechen
    will bekomme ich eine Fehlermeldung

    ActiveMDIChild->TreeView1->Selected ---> Fehler

  • #2
    Hallo Udo,

    das Fenster ActiveMDIChild ist vom Typ TForm. Da TForm aber nicht über ein TTreeView verfügt erhälst du die Fehlermeldung.
    Du must daher einen Cast auf den Typen des betreffenden Fenstern durchführen.

    ((TMyForm*)(ActiveMDIChild))->TreeView1->.........

    Gruß

    Heik

    Comment


    • #3
      Hallo Heiko,

      Vielen Dank für den Tip, aber für einen Anfänger in C++ wäre ein Stückchen Code nicht schlecht.Nur mit dem Tip komme ich nicht zurecht

      Comment


      • #4
        Hallo,

        nehmen wir mal an, diene Kindfenster sind alle vom selben Typ:

        TMyChildForm mit einem TreeView.

        Dann kannst du z.B. in einer Eventfunktion eines MenuItems den Baum expandieren.

        <pre>
        //------------------------------------------------------------------
        void __fastcall TMainWindow::Expand1Click(TObject *Sender)
        {
        if(MDIChildCount > 0) {
        ((TMyChildForm*)(ActiveMDIChild))->TreeView1->FullExpand();
        }
        }
        //------------------------------------------------------------------

        </pre>

        Da alle Kindfenster in diesem Beispiel vom selben Typ sind, weis man natürlich auch auf welchen Typ man Casten muss. (TMyChildForm)
        Und Oh Wunder, wenn man den Menüpunkt auswählt, werden alle Knoten des Baumes aufgeklappt.

        Gruss Heik

        Comment


        • #5
          Hallo Heiko,

          Besten Dank für Deine Hilfe.
          Jetzt hat's geklappt.

          Gruß Ud

          Comment

          Working...
          X