GetMenuBarInfo liefert kein Ergebnis



  • Hallo zusammen,

    ich versuche, mit GetMenuBarInfo das Umgebungsrechteck der Menüleiste zu bekommen. Nach dem Funktionsaufruf stehen aber in MENUBARINFO.rcBar nur unsinnige Werte und der Returncode = false.
    Wenn ich GetLastError aufrufe, erhalte ich 0.

    Ich vermute, ich versorge die Aufrufparameter von GetMenuBarInfo falsch:

    hWnd = <Handle meines TopWindow, welches die Menüleiste enthält>
    lObject = OBJID_MENU
    lItem = 0.

    Den size-Parameter von MENUBARINFO habe ich richtig gesetzt.

    Was ist falsch??
    Bin für jeden Tipp dankbar,
    Grüße
    testalucida



  • 1. mal den Quellcode so posten wie er in deiner Compilerdatei steht
    2. wenn du schon weißt, daß der return code = FALSE ist, dann GetLastError() aufrufen und den Fehlercode auslesen



  • so schaut der Code aus:

    static RECT & GetMenuBarSize( HWND owner, RECT & rect ) {
    MENUBARINFO mbi;
    mbi.cbSize = sizeof( MENUBARINFO );
    bool bOk = GetMenuBarInfo( owner, OBJID_MENU, (LONG)0, &mbi );
    /* bOk = false */ 😞

    DWORD err = GetLastError();
    /* err = 0 */ 😮
    rect = mbi.rcBar;
    return rect;
    }


Anmelden zum Antworten