tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
445
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    Huhu


    ich habe eine MFC MDI Anwendung und möchte nun, wenn der User auf ein anderes Fenster in meiner Anwendung klickt, es automatisch geschlossen wird. Wie mach ich das am besten?!
    Woher weiß ich, wenn das fenster nicht mehr "betrachtet" wird?!

    gruß
    Da Thoschdäh
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Es gibt da die Windowsmessage WM_ACTIVATE. Mit der kannst du feststellen, ob ein Fenster aktiviert bzw. deaktiviert wurde. Wenn dir das als kleiner Anstoß nicht reicht, sag Bescheid.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    hey du bist sowas von genial

    kann man dich irgendwie mal mieten?! so als laufende msdn!?

    vieeeelen dank!

    EDIT: Wie kann ich das Untergeordnete Fenster dann schließen?!

    gruß
    ich
    Geändert von Thopeto (09.02.05 um 21:58 Uhr)
     

  4. #4
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    kann man dich irgendwie mal mieten?! so als laufende msdn!?
    Das könntest du dir vermutlich nicht leisten. Die MSDN ist aber auch nicht schlecht, wenn man sie lokal installiert.

    Wegen des Fensterschliessens: Versuch mal sowas wie PointerAufNervigesFenster->SendMessage( WM_CLOSE );
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  5. #5
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    Zitat Zitat von Kachelator
    Das könntest du dir vermutlich nicht leisten.
    ich hab noch Omas Sparstrumpf
    Kommst du mit dem auto oder per Bahn

    die msdn will bei mir nie richtig....wenn ich es such, find ich es nicht, und wenn ich es nicht brauche dann find ich es....du glaubst gar net wie verrückt das einen macht
     

  6. #6
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    ich hab noch Omas Sparstrumpf
    Kommst du mit dem auto oder per Bahn
    Wenn Omas Strumpf reichen würde, käme ich selbstverständlich per FTP.

    die msdn will bei mir nie richtig....wenn ich es such, find ich es nicht, und wenn ich es nicht brauche dann find ich es....du glaubst gar net wie verrückt das einen macht
    Da hilft nur üben, üben, üben. Genau wie mit Google. Ohne MSDN programmieren ist jedenfalls ziemlich unmöglich. Zumindest für jemanden wie mich.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  7. #7
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    aber jetzt kommt was schweres

    wie kriegt man den titel einer html site raus, also das, was zwischen den <title></title> tags steht?!
     

  8. #8
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Frag erst einmal deine Oma, ob sie dir erklären kann, was "off topic" bedeutet.

    Danach mach einen neuen Thread auf.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  9. #9
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    ähm, das mit WM_CLOSE nicht....

    der schließt bei mir alles.

    Ich möchte aber nur das untergeordnete Fenster schließen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     void CVorschauFrame::OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd) 
     {
        CMDIChildWnd::OnMDIActivate(bActivate, pActivateWnd, pDeactivateWnd);
        
        if(!bActivate)
        {
            /// was tun?!
        }
     }
     

  10. #10
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Hm, alles? Da bin ich Moment überfragt. Bist du sicher, dass du es an das richtige Fenster schickst?
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  11. #11
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    ich habe auch kein WM_ACTIVATE beim ASsistenten gefunden

    habs so gemacht
    this->SendMessage(....);
     

  12. #12
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Ja, dann schliesst du vermutlich das Hauptfenster und beendest damit das Programm. Ersetz mal "this" durch den Zeiger auf das Fenster, das du schliessen willst.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  13. #13
    Thopeto Thopeto ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    227
    und wie krieg ich den her?!

    Ich steh momentan voll auf der Leitung. verdammter mist...
    meine msdn läuft langsam heiß
     

  14. #14
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Irgendwo öffnest du das Fenster doch, oder? An der Stelle zumindest solltest du entweder auf einen CWnd-Pointer des Fensters oder wenigstens ein Window-Handle (HWND) zugreifen können. Damit kannst du das Fenster später ansprechen.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  15. #15
    cFuchs cFuchs ist offline Mitglied
    Registriert seit
    Aug 2004
    Beiträge
    24
    Hallo

    In der Methode InitInstance der App-Klasse wird ja das Doc-Template erstellt, wie z.B.

    CMultiDocTemplate* pDocTemplate;
    pDocTemplate = new CMultiDocTemplate(
    IDR_TEST,
    RUNTIME_CLASS(CTestDoc),
    RUNTIME_CLASS(CChildFrame),
    RUNTIME_CLASS(CTestView));
    AddDocTemplate(pDocTemplate);

    An dieser Stelle eine kleine Änderung vornehmen, und zwar die Deklaration der Variable pDocTemplate in die Header-Datei der App-Klasse verschieben, denn dann hat man über die App-Klasse darauf Zugriff.

    Normalerweise ist das AppObjekt über die globalen Variable theApp ansprechbar.

    Mit folgendem Befehl schliesse ich das oder die Fenster eines solchen Doc-Templates:

    theApp.pDocTemplate->CloseAllDocuments(TRUE);

    Ich hoffe das hilft weiter.
     

Ähnliche Themen

  1. Lightwindow automatisch schließen
    Von schecker im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 19.10.09, 17:18
  2. Antworten: 2
    Letzter Beitrag: 23.09.09, 12:30
  3. swf automatisch schließen?
    Von maxcom im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 25.07.05, 15:16
  4. automatisch schließen
    Von derkrehn im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 12.01.04, 17:28
  5. Fenster automatisch schließen
    Von d4k4 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 09.10.02, 12:51