Weitere TForm laden



  • Bevor sich nu jemand lustig macht: Ich bin noch Anfängern in Sachen c++ 😉 und mein Problem wird in meinem c++ buch nicht erleutert 😞

    Also:
    Wenn ich ausser meiner Form1 eine weitere Form laden möchte.. z.B. über einen Button, wie mache ich das und wie verhält sich die bereits geöfnete Form1? Kann die neue Form2 genauso groß angezeigt werden wie die 1. und diese geschlossen werden?

    Bitte helft mir weiter 🙂
    Danke schonmal im Vorraus...



  • Original erstellt von richie84:
    mein Problem wird in meinem c++ buch nicht erleutert

    Aber z.B. im Texteditor-Tutorial in der Hilfe.



  • ...oder du guckst dir mal die Methoden von TForm an...
    ...oder du suchst mal hier im Forum...



  • bei neueren versionen als cbuilder 3.0 gibt es einen knopf formular hinzufügen (links da wo Projekt speichern und so ist). Da drückst du drauf und ein neues Formular erscheint.
    da packst du dann deine knöpfe und so rein und speicherst das neue formular (name z.B. Nebenformular) als z.B. 2.cpp und 2.h. Jetzt fügst du in dein eigendliches Programm ganz oben

    #include "2.h"
    

    ein. Muss sich im gleichen Ordner befinden wie 2.h und 2.cpp.
    dann trägst du noch da wo schon TForm1 *Form1; steht noch in unserem Fall

    TNebenformular *Nebenformular;
    

    ein und dann kannst du das Formular über Nebenformular->Schow() anzeigen und mit Nebenformular->Hide() wieder wegkriegen. Wenn noch nich alles klar is 😕 kann ich dir auch mal n Beispielprog schicken



  • danke schon das du dir die mühe gemacht hast das für einen "nub" so ausführlich zu schreiben.. macht au net jeder ;/ trotzdem auch den anderen danke ^^



  • Original erstellt von mwoidt:
    **

    TNebenformular *Nebenformular;
    

    **

    Muss man das? Mach ich nie und meine Progs laufen trotzdem sauber... 😕

    MFG Aoeke



  • du kannst auch File|Include Unit Hdr machen wenn das form noch offen ist.



  • gibt es denn ne möglichkeit, das wenn ich z.B. Form2 aufmach, und ich Form1 mit Form1->Hide() schließe, das Form2 (in der selben größe wie Form1) an der selben position geöfnet wird, also das der Benutzer kein 'Verschieben' der Fenster bemerkt?



  • Na klar geht das.
    Du musst doch der zweiten Form bloß die korrekte Position und Größe zuweisen.
    Siehe Eigenschaften von TForm.
    Achte aber darauf, dass du das 1. Form nicht schließt, also was weiß ich, über
    Form1->Close() zum Beispiel.

    MFG Aoeke

    [ Dieser Beitrag wurde am 02.04.2003 um 18:38 Uhr von Aoeke editiert. ]



  • Original erstellt von richie84:
    danke schon das du dir die mühe gemacht hast das für einen "nub" so ausführlich zu schreiben.. macht au net jeder

    Ja super, nicht? Sonst hättest du am Ende doch noch selbst in der Hilfe nachsehen müssen und dabei womöglich nebenbei noch ein paar andere, grundlegende Dinge gelernt. Statt dessen kannst du uns ja jetzt schön mit weiteren "nub"-Fragen in Trab halten ...



  • ja, sry, falls ich dir damit zu last fallen sollte.. aber ich bemüh mich schon dadrum, die sachen nachzusehen.. aber anderen leuten macht es auch spass, leuten wie mir zu helfen.. naja.. macht ja nix 😉 aber ich denke mal das so ein forum für sowas da sein sollte, oder?



  • hmm... hab da noch ne frage: wenn ich nun Form2 lade, und vorher Form1 z.B. auf dem desktop auf eine andere Position gezogen habe, öffnet Form2 auf der Ausgangs posi von Form1, welche geschlossen wurde.

    Kann man Form2 auch an der 'neuen' position öffnen lassen?



  • Also das kriegste ja wohl noch alleine raus!!!
    Denk doch bloß mal ein bisschen darüber nach, wann du der zweiten Form seine
    Left und seine Top Werte zuweisen solltest, wenn du es so haben willst...

    MFG Aoeke


Anmelden zum Antworten