MFC中使用SetWindowPos GroupBox遮盖内部控件问题解决办法
来源:互联网 发布:如何化行最简形矩阵 编辑:程序博客网 时间:2024/06/02 04:46
在MFC中,需要调整控件位置时可以使用SetWindowPos函数进行操作。对在GroupBox中的控件进行操作时需要先对控件的位置进行设置,再对GroupBox进行设置。否则会导致GroupBox遮挡控件。
例如:
::SetWindowPos(GetDlgItem(IDC_MAIN_PANEL)->GetSafeHwnd(), NULL, 0, 0, 100, 60, SWP_SHOWWINDOW);//Groupbox
::SetWindowPos(GetDlgItem(IDC_BUTTON1)->GetSafeHwnd(), NULL, 0, 0, 60, 30, SWP_SHOWWINDOW);//按钮1
::SetWindowPos(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd(), NULL, 0, 50, 60, 30, SWP_SHOWWINDOW);//按钮2
以上代码会导致Groupbox覆盖按钮显示。显示效果如图1:
图1 Button1被覆盖
以下代码可以正常显示,显示效果如图2。
::SetWindowPos(GetDlgItem(IDC_BUTTON1)->GetSafeHwnd(), NULL, 0, 0, 60, 30, SWP_SHOWWINDOW);//按钮1
::SetWindowPos(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd(), NULL, 0, 50, 60, 30, SWP_SHOWWINDOW);//按钮2
::SetWindowPos(GetDlgItem(IDC_MAIN_PANEL)->GetSafeHwnd(), NULL, 0, 0, 100, 60, SWP_SHOWWINDOW);//Groupbox
图2 Button1未被覆盖
原理猜测:Windows在绘制控件时先绘制的控件置于Z序的最顶层,后绘制的控件Z序向后增加。
0 0
- MFC中使用SetWindowPos GroupBox遮盖内部控件问题解决办法
- MFC下组框控件遮盖了 内部控件
- C#中GroupBox控件的使用
- IOS键盘遮盖问题解决办法
- MFC中修改GroupBox控件的背景色
- MFC:重绘GroupBox控件
- MFC中SetWindowPos简单使用说明
- mfc static,checkbox,groupbox,redio 控件透明
- MFC问题解决办法
- GroupBox控件
- android中控件的遮盖
- C#中容器控件GroupBox、Panel、TabControl
- 控件使用(fieldset 、GroupBox、Radio)
- [转载]MFC中建立新文档失败问题解决办法
- MFC中DockPane初始化停靠换乱问题解决办法
- MFC中BMP图片放入失败问题解决办法
- Delphi2007中Combox控件中文乱码问题解决办法
- MFC中使用串口控件后程序无法打开的问题解决
- Git学习笔记(2)——工作区和版本库
- UVA1607 与非门电路&&二分答案
- ScrollView嵌套多个ListView
- 上机题目(初级)- Java网络操作-打印网页(Java)
- Androidx学习笔记(74)--- 对图片进行特效处理
- MFC中使用SetWindowPos GroupBox遮盖内部控件问题解决办法
- 关于机器人的遐想
- Linear Regression/线性回归与正则化(Andrew Ng 机器学习 一 )
- 《剑指offer》——左移字符串
- Androidx学习笔记(75)--- 画画板
- JVM-内存分配与回收策略
- Androidx学习笔记(76)--- 撕衣服
- linux 查看当前文件夹下每个文件或者文件夹的大小命令
- 蓝桥杯—三羊献瑞,祥瑞生辉+三羊献瑞