【问题标题】:How to get size of floating toolbar如何获取浮动工具栏的大小
【发布时间】:2021-07-22 13:05:50
【问题描述】:

如何在 MFC 中获取浮动 CControlBar 的大小? 我想在 screen 坐标中获得一个尺寸。

我试过了

CControlBar *bar_p;
...
bar_p->GetWindowRect(&rect);

似乎不包括边框,并且

bar_p->GetParent()->GetParent()->GetWindowRect(&rect);

这给出了一个有点太宽和太高的尺寸。

【问题讨论】:

  • 我知道尺寸不对,因为测量后,我根据这些尺寸重新排列窗口并调用 FloatControlBar(bar_p, CPoint(x, y));但是窗户距离太远了
  • 也许您可以提出一些想法:stackoverflow.com/questions/32165416/…
  • 这是对用户命令的响应,因此此时窗口大小已经更新

标签: mfc


【解决方案1】:

这个问题原来是程序其他地方的错误。以下确实找到了浮动工具栏出现的CMiniFrameWnd的矩形

CRect rect;
if(bar_p->IsFloating())
{
 bar_p->GetParent()->GetParent()->GetWindowRect(&rect);
 ..
}

【讨论】:

    猜你喜欢
    • 2012-11-23
    • 2015-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多