【问题标题】:How do I sync a window's System-menu after SetWindowPos()?如何在 SetWindowPos() 之后同步窗口的系统菜单?
【发布时间】:2010-07-26 10:59:46
【问题描述】:

SetWindowPos( hwnd, HWND_NOTOPMOST, x, y, cx, cy, SWP_SHOWWINDOW) 之后,状态先前最大化的窗口确实会按预期调整大小和重新定位自身,但系统菜单不会改变,并且仍然显示“当前最大化”窗口的菜单项,即使它不再最大化。

跟进PostMessage( hwnd, WM_SYSCOMMAND, SC_RESTORE, 0) 使系统菜单再次看起来正确,但似乎我在这里混合了两个主题,并且发布SC_RESTORE 是矫枉过正,因为这已经是窗口的状态。

是否有一个命令可以调整窗口大小和重新定位窗口,并将系统菜单设置为反映新的最大/最小/分辨率窗口状态?

【问题讨论】:

    标签: c++ windows resize maximize


    【解决方案1】:

    【讨论】:

    • 是的,我已经尝试过 ::ShowWindow(SW_SHOWNORMAL),但它会将窗口调整大小并将其重新定位为其“原始”启动大小,我希望它的大小符合我的规格。
    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 2010-12-24
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多