在一个对话框中,使用了很多静态控件用于显示统计的数据。用一个列表框控件显示相关的选择条件,选择方式为多选。一开始时列表框不显示,当单击一相关的静态控件时列表框显示,供统计选择用。
问题是列表框显示时与对话框上的其它静态控件相交,并且被相交的静态控件挡住,使用很不方便。
本人将列表控设置为Tab顺序最前端或最后端均不能让列表控件显示在最上面,因此向各位请教:有什么方法能够使原先隐藏的控件在显示时始终在其它控件的最上面。
在下先谢了!!
问题是列表框显示时与对话框上的其它静态控件相交,并且被相交的静态控件挡住,使用很不方便。
本人将列表控设置为Tab顺序最前端或最后端均不能让列表控件显示在最上面,因此向各位请教:有什么方法能够使原先隐藏的控件在显示时始终在其它控件的最上面。
在下先谢了!!
解决方案 »
- 关于文件传输,求助一下?
- 木马程序的通信问题:
- 想截某个指定窗口的屏,如果窗口被挡住怎么办?
- 请问大虾关于vc网络编程!!!急
- 简单,但就是不会: CString 和 char * 如何互相转换?????
- 再来一贴:简单问题为何没人回答:在VC中有否象VB中的isNumeric(数值) 和isDate(日期)的API???
- 关于MOUSEHOOK高手求救!!
- IP首部中的校验和是如何得出?
- 有c基础,vc学习一个月,要用vc做毕业设计
- EXCEL退出,但不干净,我如何终止窗口已经消失但仍残留在内存中的EXCEL?
- 我如何知道运行时控件当前的位置?
- 我快疯了!有谁可以帮我看看!!100分送上!!!
既然列表框出现了,那么与它相交的控件这时是不该被显示的,你可以把他们先隐藏起来,待需要是再恢复显示
或者setWindowPos()
昨天我用了SetWindowPos()试了一下,没有成功,因为是第一次用,不知用对没有,如下:
mylistbox.SetWindowPos(this,x,y,cx,cy,SWP_SHOWWINDOW);
mylistbox.SetWindowPos(& this->wndTop,x,y,cx,cy,SWP_SHOWWINDOW);
mylistbox.SetWindowPos(& wndTop,x,y,cx,cy,SWP_SHOWWINDOW);
以上三种方式均不能实现我的目的,情况仍然依旧,即使将wndTot改为wndTopMost情况仍然一样。
mylistbox.BringWindowToTop();
SetWindowPos(&wndTopMost,rc.left,rc.top,rc.Width(),rc.Height(),SWP_SHOWWINDOW)//显示控件并将其提前