Modalen Dialog schließen



  • @WebFritzi
    Man kann ein MDI Fenster nicht mit ShowModal() öffnen

    @Gormez
    Hast du in deinem Quelcode irgendwo SetFocus() Befel stehen? Wenn ja, such an der Stelle

    [ Dieser Beitrag wurde am 10.04.2003 um 07:52 Uhr von Xqgene editiert. ]



  • Hi Freaks! Kurz und schmerzhaft, chirurgisch präzise, ihr seid super. 🙂

    Oh ja/oh doch 😉 😃 , es ist eine SDI-Form.

    @Xqgene, Volltreffer, Edit1->SetFocus(); . Das stand in der FileNewClick beim Dialogaufruf (mit new). Beim Schließen sollte dieser Coder nicht relevant sein (geschlossen wird im Dialog, nicht in der HauptForm). Sieht für mich wie ein Optimierungsfehler aus.

    Macht nix, die TabOrder stimmt, ich brauch die Anweisung nicht.

    Problem gelöst, ich dank euch sehr.



  • Ein deaktiviertes oder unsichtbares Fenster kann nicht den Focus erhalten!

    Naja, bei dieser Fehlermeldung hättest du auch selber drauf kommen können. Und BTW: Was ist eine SDI-Form???



  • @WebFritzi :p
    Du weiss doch ganz genau, dass er eine SDI-Anwendung meint



  • Meine Frage war: WAS IST SDI ???



  • Single Document Interface 😡



  • Brauchst ja nicht gleich auszurasten. 😉 Also einfach fsNormal anstatt von fsMDIForm ???



  • es gibt schon eine vorlage für sdi programme im bcb. das ist irgendwo bei Neu / Projekte / SDI ...



  • Habs mir angeschaut. Sowas ist also ein Editor (für was auch immer) ohne MDI.



  • Es ist eben SDI... SDI != MDI... Das *DI ist eine bestimmte Anwendungsarchithektur... der gegenüber steht Dialog-Basierende Anwendungen. Dialogbasierende Anwendungen. Während alle Fenster in dialogfeldbasierenden Anwendungen frei sind, sind Document und Viewer-Elemente einer *DI-Applikation an ein Hauptframe gebunden.

    So, nun aber schluss mit Offtopic. Für weitere Informationen bitte einen neuen Thread eröffnen.

    -junix



  • Ein deaktiviertes oder unsichtbares Fenster kann nicht den Focus erhalten!
    @WebFritzi, die Meldung löst der **Öffnen-**Code für das sich verabschiedende Fenster aus. Würde der Code aber wirklich noch mal angefahren, würde ja sofort wieder der Dialog erzeugt werden. - Und noch was: Damit ich den Dialog auch via ESC canceln kann, geb ich im OnKeyDown dem Cancel-Button den Focus und lös dann VK_RETURN aus. Dieses SetFocus() löst ja auch keine Exeption aus, obwohl es direkt am Schließen-Ablauf beteiligt ist.

    Ja, für eine SDI ist der FormStyle fsNormal. Wollte dich nicht ärgern. Aber ich kenn gar keinen anderen brauchbaren Ausdruck. 🙄



  • Original erstellt von <Gormez>:
    Damit ich den Dialog auch via ESC canceln kann, geb ich im OnKeyDown dem Cancel-Button den Focus und lös dann VK_RETURN aus.

    Lass das! Setz die Eigenschaft Cancel des Cancel-Buttons einfach auf true.

    [ Dieser Beitrag wurde am 10.04.2003 um 19:41 Uhr von WebFritzi editiert. ]



  • Der Tip kam goldrichtig, @WebFritzi. Die Eigenschaft Cancel hätte ich jetzt im Eifer des Gefechts glatt übersehen. Der Code in der OnClick-Routine für den Cancel-Button wird ja sowieso ausgeführt. Ich dank dir.


Anmelden zum Antworten