User interface 如何在带有对话框条的框架中获得可绘制区域?
我有一个带有对话框条的CFrameWnd,我想确定可绘制区域(不包括对话框条使用的空间),这样我就可以在其中绘制,而不会被对话框条重叠。我该怎么做User interface 如何在带有对话框条的框架中获得可绘制区域?,user-interface,mfc,coordinates,toolbar,User Interface,Mfc,Coordinates,Toolbar,我有一个带有对话框条的CFrameWnd,我想确定可绘制区域(不包括对话框条使用的空间),这样我就可以在其中绘制,而不会被对话框条重叠。我该怎么做GetClientRect()似乎也涵盖了客户端rect区域,我在Dou文档中没有看到任何其他明显的糖果。我非常确定该方法应该提供您需要的信息。以下代码是否适用于您 CRect rcClient; pFrameWnd->RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST
GetClientRect()
似乎也涵盖了客户端rect区域,我在Dou文档中没有看到任何其他明显的糖果。我非常确定该方法应该提供您需要的信息。以下代码是否适用于您
CRect rcClient;
pFrameWnd->RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0, CWnd::reposQuery, &rcClient);
我用CDockablePane解决了一个类似的问题
CRect rc;
GetDockingManager()->GetClientAreaBounds(rc);
但我也遇到了无法找到消息或回调以知道何时触发的问题。这似乎是我可能需要的,但要到明天才能测试。是否有一个窗口消息或回调,我可以用来确定何时移动工具栏,以便重新计算客户端rect,而不是在每个
WM_PAINT
上调用它?