我在做视频会议的界面布局的时候,发现自己SetAttributte(L"pos"",L"")设置了坐标属性之后,通过GetWindowRect获取的CRect是不对的,设置是有延迟的;就是再次一次访问CRect获取的是上一次的位置信息;还有就是窗口布局的子窗口通过GetWindowRect获取的CRect也是不对的;
之后再群里面问了群友,群主大大回复的:
[C++] 纯文本查看 复制代码 m_pRealWnd->GetParent()->Request***out();
m_pRealWnd->GetParent()->UpdateChildrenPosition();
GetParent()->Request***out();
GetParent()->UpdateChildrenPosition();
类似这种方式去主动刷新自己的布局和位置;不知道是不是我的SOUI版本太老的缘故,这种方式是不行的;
最后,通过查看帮助文档,找到了SetVisable(true,true)的第二个参数,去刷新重绘整个窗口,更新窗口的布局,获取到了对的窗口位置信息;
'
|