ShowModal aufgerufenes Form bändern dass auf andere Forms zugegriffen werden kann



  • Hallo,...

    ich habe ein Projekt mit mehreren Forms,...

    ist es möglich, eine mit SchowModal() aufgerufene Form
    während diese offen ist so abzuändern, dass sie sich verhält, als ob sie mit Show() aufgerufen wurde, und umgekehrt.

    Kann man also die Eigenschaften einer Form so ändern, dass man wieder auf andere Forms zugegriffen werden kann, wenn z.B. ein Button gedrückt wurde.

    Ich habe dafür leider in der FAQ und mit der suche nichts gefunden.

    Gruß
    Kolumbus



  • Hallo

    Nein das geht mit offiziellen VCL-Mitteln nicht. Eventuell kann man da etwas mit WinAPI-Funktionen machen, aber auch das dürfte sehr unsauber sehr.

    bis bald
    akari



  • Deine Zeichensetzung ist echt kreativ? Wo ist die Frage,...

    Direkt die Modalität umschalten ist wahrscheinlich nicht möglich. Du könntest aber das modale Fenster schließen und direkt neu öffnen.

    //modal öffnen:
    if (Form2->Visible) Form2->Close(); //falls es schon nichtmodal geöffnet ist, erst schließen
    if (Form2->ShowModal()==mrRetry) Form2->Show(); //Modal aufrufen und Umschaltung zulassen
    
    //Beim schließen von Form2 entscheiden, ob wieder aufgemacht wird:
    ModalResult=mrRetry
    

    Alternativ könntest du mit Enabled der nichtmodalen Forms herumspielen. Kann aber sein, dass das ungewünschte Nebeneffekte hat, bzw. das typische Windows-Look&Feel ändert.


Anmelden zum Antworten