tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1547
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    macsmac macsmac ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    4
    Hallo.

    Ich habe folgendes Problem:

    Ich habe auf meiner Form ein PageControl mit mehreren Pages (TabSheets).
    Diese können über einen Menübefehl "Neu" wärend der Laufzeit hinzugefügt werden
    Code :
    1
    2
    3
    4
    
    TTabSheet *Page;
    Page = [B]new[/B] TTabSheet(PageControl1);
    Page->PageControl = PageControl1; 
    PageControl1->ActivePage = Page;
    Darin enthalten sind zwei RichEdits, getrennt duch eine Splitterkomponente.
    Die Erzeugung erfolgt genauso wie beim TabSheet, inklusive Alignment. Hier Bsp. Splitter:
    Code :
    1
    2
    
    Sp1 = [B]new[/B] TSplitter(Page);             
    Sp1->Parent = Page;
    So, nun möchte ich natürlich auch die aktuell aktive Page (TabSheet) inklusive ihres Inhaltes schließen können. Um es einfach zu halten über ein Menüpunkt "Schließen".
    Die Suche in der CBuilderHilfe hat bisher nichts ergeben. (Der obige Code stammt übrigens aus der Hilfe).
    Also habe ich mir folgendes gedacht...
    Code :
    1
    
    [B]delete[/B] PageControl1->Pages->TTabSheet(PageControl1->ActivePage);
    Wobei ich mir nicht so ganz im Klaren darüber bin was ich mit TTabSheet *Page machen soll, eigentlich liegt ja da meine aktuelle Page (TabSheet)...

    Im Prinzip ist die Sache vergleichbar mit Internetbrowsern à la Opera, FireFox etc., welche Tabs unterstützen. Auch dort kann man ja einen neuen Tab wählen um darin eine Seite anzeigen zu lassen und diesen dann wieder mit samt der Seite schließen.

    Danke für eure Hilfe im Voraus.

    MfG M
    Geändert von macsmac (25.04.05 um 17:01 Uhr)
     

  2. #2
    andreas_gierisch andreas_gierisch ist offline Mitglied Gold
    Registriert seit
    Oct 2004
    Beiträge
    161
    TTabSheet *Page ist ja nur ein Pointer, der später (nach der Definition/Zuweisung einer Page) auf diese zeigt.

    Mit Page = new TTabSheet(PageControl1) weist du dem Pointer dann eine Seite zu, es reicht also, wenn du mit delete die Seite entfernst, den Poiter brauchst du nicht zu löschen.
     

  3. #3
    macsmac macsmac ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    4
    Danke für die echt fixe Antwort
    Ich habe zwischenzeitlich mal:
    Code :
    1
    
    delete PageControl1->ActivePage;
    probiert und es klappt wurderbar.


    MfG M
     

  4. #4
    macsmac macsmac ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    4
    Hallo,

    ich habe ein weiteres Problem zum Thema.
    Auf den von mir erzeugen TabSheets (sie voriges Posting, Page) liegen RichEdits. Nun möchte ich diese jeweils in eine Datei speichern.
    Die Erzeugung der RichEdits erfolgt folgendermaßen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    TTabSheet *Page;
    TRichEdit *RichEdit;
     
    ...
    RichEdit = new TRichEdit(Page);
    RichEdit->Parent = Page; 
     
    ...
    RichEdit->SaveToFile(SaveDialog1->FileName);
    Gebe ich das ein, wird das RichEdit des letzten erzeugen TabSheets (Page) abgepsiechert. Ich möchte aber das RichEdit des gerade aktiven TabSheets speichern.
    Was muss ich im Speicherndialog angeben um das passende RichEdit zum Passenden TabSheet zu wählen?
    Ist im Prinzip vergleichbar mit Internetbrowser mit Tabfunktion und Abspeichern einer gerade offenen Webseite.

    Danke für eure Hilfe im Voraus.

    MfG M
    Geändert von macsmac (28.04.05 um 18:35 Uhr)
     

Ähnliche Themen

  1. Bei "Febnster schließen" mit link Weiterleiten...
    Von thejackal im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 07.01.11, 13:51
  2. JDialog per button schließen & dabei den "windowclosing"-event erzeugen
    Von GoLLuM im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 07.12.08, 11:58
  3. Fenster, dass sich "nicht schließen" lässt
    Von Megataurus im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 22.04.06, 02:42
  4. TabSheet einer PageControl deaktivieren
    Von andreas_gierisch im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 02.09.05, 17:37
  5. Browser-kompatibel "opener"-Fenster schließen
    Von Nummer2 im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 25.10.02, 12:43