组合框列表展开窗口捕获鼠标问题
本帖最后由 wangms 于 2015-1-13 15:16 编辑#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
HotKeySet('^z', 'FZ')
; 创建 GUI
Local $hGUI = GUICreate("ComboBox列表展开鼠标问题", 350, 180, -1, 180)
Local $idCombo = GUICtrlCreateCombo("", 5, 4, 282, 50)
Local $idButton1 = GUICtrlCreateButton('赋值', 300, 4, 40, 20)
GUISetState(@SW_SHOW)
; 添加文件
_GUICtrlComboBox_BeginUpdate($idCombo)
_GUICtrlComboBox_AddDir($idCombo, @WindowsDir & "\*.exe")
_GUICtrlComboBox_EndUpdate($idCombo)
_GUICtrlComboBox_SetEditText($idCombo, 'Default')
; 循环到用户退出.
While 1
If $idButton1 = GUIGetMsg() Then _GUICtrlComboBox_SetEditText($idCombo, 'Default_2')
If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
Local $sText = _GUICtrlComboBox_GetEditText($idCombo) ;获取编辑框文本
If $sText = '' Then
_GUICtrlComboBox_ShowDropDown($idCombo) ; 折叠下拉列表
Else
_GUICtrlComboBox_SetMinVisible($idCombo, 6) ; 展开下拉列表
_GUICtrlComboBox_ShowDropDown($idCombo, True)
;GUISetState(@SW_SHOWNORMAL, $hGUI )
;WinActivate($hGUI,'' )
;GUICtrlSetState($idCombo, $GUI_FOCUS )
EndIf
WEnd
GUIDelete()
Func FZ()
_GUICtrlComboBox_SetEditText($idCombo, 'Default_3')
EndFunc上面代码初始运行时,窗口中可看见鼠标移动;当清空编辑框后手工输入字符后,组合框下拉列表展开,这时窗口捕获不到鼠标,看不到鼠标在窗口中移动,请教各位老师这是何故?如何处理才能捕获鼠标?;
(为了测试,还设计了另两种编辑框赋值方式:热键和按钮赋值)
自己顶一下。。。。。。。。。。。。。。。。。。。 再次顶一顶,希望高手看见 注册个鼠标按下消息,再获取鼠标位置,如果在点击的按钮上就响应 这样用的应该比较别扭。如果要释放按键才响应可以在按下消息里再取鼠标状态,再响应就可以像平时点击一样。
你可以试试。 谢谢上面的老师指教,不过还是不会弄。我找到一个与鼠标有关的消息$WM_MOUSEACTIVATE,但不知如何使用? 回复 6# wangms
我没试过的,刚才试了下按下消息,没用。 让老师您费心啦。。。。。。。。。。。。。。。。 翻阅有关帖子,这个帖子的问题不错啊,涉及到前后台窗口、激活状态等基本概念,咋不见高手出手解决?另楼主咋被禁言了啊,也没见其有不当言论! 请大家继续关注该问题,并提出解决办法或思路,高手出手当然更好。
页:
[1]