Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 如何在带有对话框条的框架中获得可绘制区域?_User Interface_Mfc_Coordinates_Toolbar - Fatal编程技术网

User interface 如何在带有对话框条的框架中获得可绘制区域?

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

我有一个带有对话框条的CFrameWnd,我想确定可绘制区域(不包括对话框条使用的空间),这样我就可以在其中绘制,而不会被对话框条重叠。我该怎么做
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
上调用它?