hur.cn - 华软网

 热门搜索

如何取得窗口上所有控件的句柄?

  作者:未知    来源:网络    更新时间:2016/2/23
有时候要对窗口上所有控件进行一个一样的设置,例如将所有控件的背景设为一样,这样的话,若能在窗口事件中取得所有控件的句柄,则用一个循环即可解决问题,不知有没有办法?请赐教!
------华软网友回答------
在窗口中提供了一个CONTROL数组,它包括了窗口中所有控件。可通过对这个数组的访问实现对所有控件的控制。比如说一个全局性质的初始化过程。一般在知道窗口中控件的类型可能的类型后,可在程序中通过枚举来完成这一工作。
大致框架是:
。。。。
long ctllcount,ctlhcount,i
ctlhcount=upperbound(this.control[])
ctllcount=lowerbound(this.control[])
mle_1.text=""
for i=ctllcount to ctlhcount
mle_1.text=mle_1.text+this.control[i].classname()+"~r~n"
choose case this.control[i].typeof()
case datawindow!
  mle_1.text=mle_1.text+"~ta datawindow find"+"~r~n"
case commandbutton!
  mle_1.text=mle_1.text+"~ta button find"+"~r~n"
//。。。。。其它类型
end choose
next
.....
对于这些获得的控件可以进行进一步的操作。通过声明相同类型的变量可以得到控件的引用,然后操作。还可以用HANDLE函数获得句柄。
------华软网友回答------
用WinAPI可以实现获取屏幕上所有窗口,不仅仅是本程序中窗口上的控件的句柄。
我用VBVC都实现过。
------华软网友回答------
回RealTop:不知该如何实现,请给我一个例子,VBVC中的都行!sagerk@263.net
谢谢!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。