我有一个带有对话栏的CFrameWnd,我想确定可绘制区域(不包括对话栏使用的空间),这样我就可以在不对话栏重叠的情况下绘制它。我怎样才能做到这一点? GetClientRect()
似乎也覆盖了客户端区域,我在分析中没有看到任何其他明显的候选人。
答案 0 :(得分:1)
我很确定Cwnd::RepositionBars方法应该提供您需要的信息。以下代码是否适合您?
CRect rcClient;
pFrameWnd->RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0, CWnd::reposQuery, &rcClient);
答案 1 :(得分:0)
我遇到了与CDockablePane类似的问题,我用
解决了这个问题CRect rc;
GetDockingManager()->GetClientAreaBounds(rc);
但我也遇到了无法找到消息或回调知道何时触发它的问题。