【问题标题】:How do you know when the docking state of a toolbar has changed如何知道工具栏的停靠状态何时发生变化
【发布时间】:2019-10-19 01:51:10
【问题描述】:

有人问过类似的问题@Detecting when a CControlBar's docking state has changed,不过答案是站在控件的角度写的。我想知道停靠状态何时从 CFrameWnd 发生变化,因为我有一个填充客户区的窗口,每当停靠状态发生变化时都需要重新定位该窗口。我当前的 WM_SIZE 代码有效,但如果工具栏停靠或取消停靠,则无法正常工作。

【问题讨论】:

标签: winapi visual-c++ mfc


【解决方案1】:

您可以覆盖CFrameWndExAdjustDockingLayout 函数。 每次更改停靠布局时都会调用它。

MSDN info:

注意: 在创建停靠窗口期间,有多次调用此函数(您可能希望忽略它们)。

void CMainFrame::AdjustDockingLayout(HDWP hdwp)
{
    CMDIFrameWndEx::AdjustDockingLayout(hdwp);

    // do some calulations
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多