Wie kann ich meine Fensterhandle ermitteln?



  • Hallo zusammen,

    wie kann ich das Fensterhandle "hwnd" meiner MFC anwndung ermitteln, das in so vielen API-Funktionen benötigt wird?

    Gruß
    spacehelix



  • Jedes deiner Fensterobjekte (von CWnd abgeleitet) hat einen Member m_hWnd. Das ist dein Handle des Fensters.

    An das Handle deines Hauptfensters kommst du also z.B. so:

    HWND MeinFensterHandle = AfxGetMainWnd()->m_hWnd;
    

    Gruß Brainiac



  • Super danke, hat funktioniert.



  • Hmm...

    In einer von CWnd abgeleiteten Klasse steht dir die Membervariable:

    HWND m_hWnd;
    

    zur verfügung... außerhalb musst du dir einen Pointer auf eine von CWnd abgeleitete Klasse holen(von der du das HWND haben willst!) und dann mit folgendem das HWND holen:

    HWND hWnd = pWnd->GetSafeHwnd(); // pWnd ist der Pointer auf deine von CWnd abgeleitete Klasse... kann bsw. AfxGetMainWnd() sein.
    

    Referenzen:
    CWnd::GetSafeHwnd
    CWnd::m_hWnd
    AfxGetMainWnd


Log in to reply