Überprüfen ob Fenster geschlossen ist.



  • Hallo Leute,

    durch meine Neigung zu Spaghetticode entwickeln sich die tollsten Probleme! Folgendes diesmal: Ich habe eine MFC-Anwendung in welcher der Nutzer u. a. per Knopfdruck ein Bild darstellen kann. Zur Darstellung dieses Bildes nutze ich die HighGUI von opencv. Mein Problem entsteht durch die Möglichkeit, dass dieses HighGUI Fenster durch einen Klick auf das Schließen Icon oben rechts geschlossen werden kann.

    // (...für die, denen OpenCv nicht geläufig ist:)
                       // Bild laden
                       IplImage* img = cvLoadImage( "schweinereien_1.bmp" );
    
    // Fenster erzeugen.
    cvNamedWindow( "Fenstername", CV_WINDOW_AUTOSIZE );
    
                       // Bild in Fenster darstellen
                       cvShowImage( "Fenstername", img );
                       // ...
                       // Bild schliessen
                       cvReleaseImage( &img );
    
    // Fenster schliessen
    cvDestroyWindow( "Fenstername" );
    

    Meine Anwendung soll also bei dem Schließen des Fensters benachrichtigt werden. Jetzt weiß ich allerdings nicht so recht wie man das realisieren kann. OpenCv hat eine Funktion um an das Handle des Fensters zu kommen.

    void* cvGetWindowHandle(const char* name)
    

    Kann ich dieses Handle irgendwie testen, ob es ein geschlossenes Fenster referenziert?? Oder gibt es evtl. noch bessere (...schnell von einem Anfänger zu implementierende... 😃 ) Möglichkeiten?



  • Ok, erledigt. Hab da was gefunden:

    if( IsWindow( (HWND) cvGetWindowHandle(name)) == FALSE)
       //Fenster existiert nicht
    

Anmelden zum Antworten