如何在MFC对话框中保持控件的z轴顺序
How to keep Z-order of a control in MFC dialog?
它开始让我发疯,但我不知道如何保持子控件的位置在z轴顺序。在设计时在MFC对话框资源编辑器我有静态控制(CStatic的后代)在底部(标签顺序Nr. 1),即。它与其他控件重叠,如按钮,列表框等。
在运行时,对话框处理WM_TIMER消息,并在OnTimer处理程序中获得STATIC控件移动:
void CTestMFCDlg::OnTimer(UINT_PTR nIDEvent)
{
...
m_stMyStatic.SetWindowPos(&this->wndBottom, xpos, ypos, 0, 0, SWP_NOSIZE);
...
}
在调用SetWindowPos为子类化的CStatic控件之后,无论我在第一个参数中传递什么,它都会在对话框中的其他控件上绘制。
你知道如何让控件始终保持在z轴的底部吗?
答案很简单。我只是忽略了SetWindowPos文档中的一个标志。为了防止z顺序改变,只需传递SWP_NOZORDER标志,因此函数调用应该看起来像:
m_stMyStatic.SetWindowPos(NULL, xpos, ypos, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 在编译时,C++项目抛出错误 C2228,这是预期的,因为控件在运行时未达到该点
- 如何更改窗体上所有控件的标题?[C++生成器]
- 双击更改 mfc 中列表控件中的行的颜色
- 派生的 wxPanel 控件如何访问其中包含 wxDialog 中的数据?
- 如何从代码本身向 wxwidgets 中的文本控件插入字符?
- 如何在MFC中的静态文本控件上插入图标?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 如何在Qt C++中向自定义控件添加属性?
- C/C++ 检测双击 TVItem 的常用控件
- 从C++标头中导入常量而不是硬编码它们:扩展 .net 控件?
- 控件不会在选择函数旁边移动
- MFC:我们能否扩展CEditView中存在的CEdit控件类行为
- 通过嵌入式 IWebBrowser2 控件中的链接打开 youtube 搜索失败
- 查找素数:错误:控件到达非void函数的末尾
- C++ 获取"控件可能会到达约翰逊-特罗特代码上的非空函数的末尾
- C++WIN32-将RTF数据加载到Rich Edit控件
- 如何在MFC对话框中保持控件的z轴顺序
- 如何设置在运行时创建的Windows控件之间移动的顺序