wangms 发表于 2015-1-13 15:05:27

组合框列表展开窗口捕获鼠标问题

本帖最后由 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上面代码初始运行时,窗口中可看见鼠标移动;当清空编辑框后手工输入字符后,组合框下拉列表展开,这时窗口捕获不到鼠标,看不到鼠标在窗口中移动,请教各位老师这是何故?如何处理才能捕获鼠标?;
(为了测试,还设计了另两种编辑框赋值方式:热键和按钮赋值)

wangms 发表于 2015-1-13 15:13:05

自己顶一下。。。。。。。。。。。。。。。。。。。

wangms 发表于 2015-1-14 11:57:47

再次顶一顶,希望高手看见

zhouhaijin 发表于 2015-1-14 13:00:39

注册个鼠标按下消息,再获取鼠标位置,如果在点击的按钮上就响应

zhouhaijin 发表于 2015-1-14 13:08:25

这样用的应该比较别扭。如果要释放按键才响应可以在按下消息里再取鼠标状态,再响应就可以像平时点击一样。
你可以试试。

wangms 发表于 2015-1-14 21:31:25

谢谢上面的老师指教,不过还是不会弄。我找到一个与鼠标有关的消息$WM_MOUSEACTIVATE,但不知如何使用?

zhouhaijin 发表于 2015-1-15 01:28:54

回复 6# wangms


    我没试过的,刚才试了下按下消息,没用。

wangms 发表于 2015-1-15 08:55:24

让老师您费心啦。。。。。。。。。。。。。。。。

三八线 发表于 2015-1-19 20:23:35

翻阅有关帖子,这个帖子的问题不错啊,涉及到前后台窗口、激活状态等基本概念,咋不见高手出手解决?另楼主咋被禁言了啊,也没见其有不当言论!

wangms 发表于 2015-1-20 12:09:54

请大家继续关注该问题,并提出解决办法或思路,高手出手当然更好。
页: [1]
查看完整版本: 组合框列表展开窗口捕获鼠标问题