请问如何判断窗口中的按钮的状态(不可用的灰色或者可用的黑色)?(100分)

  • 主题发起人 主题发起人 liuer
  • 开始时间 开始时间
L

liuer

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何用判断某窗口中某一按钮控件此时处于的状态:灰色不可用或者黑色可用状态?
 
如果按钮为灰色不可用状态,你不能用windowfrompoint函数得到它的句柄,<br>只能得到它的父窗口的句柄然后再EnumChildWindow找出所有子窗口,判断是<br>否为button再判断Enable属性
 
谢谢,我先试试。<br><br>如果还有其他富翁有其他方法也一并请指教
 
设 BtnHnd 是要判断的按钮的句柄。<br><br>&nbsp; if IsWindowEnabled(BtnHnd) then<br>&nbsp; &nbsp; 黑色<br>&nbsp; else<br>&nbsp; &nbsp; 灰色;<br><br>
 
能不能用这个简单的办法:<br>if button1.enable then showmessage('yes')<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; else showmessage('no');
 
是判断其他程序窗口中的按钮状态,不是判断自己程序窗口中的按钮状态
 
IsWindowEnabled好象不能用于被其他窗口遮住的的控件,有解决的办法吗?
 
IsWindowEnabled
 
Remarks:<br><br>A child window receives input only if it is [red]both enabled and visible[/red]. <br><br>如果该控件处于隐藏状态,被其他程序窗口遮住了,IsWindowEnabled也可以正常使用用吗?
 
设 BtnHnd 是要判断的按钮的句柄。<br>var <br>res:longint;<br>begin<br>res:= getwindowlong(BtnHnd,GWL_STYLE);<br>IF ((res AND WS_DISABLED )=0) AND ((res AND WS_VISIBLE )&gt;0) then<br>&nbsp; //黑色,可用<br>ELSE<br>&nbsp; //灰色,不可用<br>;<br>END;
 
后退
顶部