Label鼠标效应问题
想鼠标经过Label的时候,Label控件有反应,像Labe2-11一样。 像Labe2-11一样处理每个Lable 回复 2# seniors没有简洁的写法吗 2楼的意思就是你代码!重复调用就行了!你效应这么写就这么调用! 本帖最后由 水木子 于 2014-6-13 14:01 编辑
回复 1# qsy666888
这是我很久以前写的东东,不知道是不是你要的效果。
源码我就不贴上来了,论坛上有,你直接搜索下。
回复 4# f4李文杨
重复调用没有写出来 1、一般多个相同处理可以做成一个函数
2、或者控件子类化
3、自制控件 回复 6# qsy666888
#include <Array.au3>
Global $aTest
Global $hWndb
Global $bTfa = True, $bTfb = True
$MyGui = GUICreate('www.AutoItx.com', 400, 300)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 30, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 80, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 130, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 180, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 230, 100, 17)
GUISetState()
While 1
$Pos = GUIGetCursorInfo($MyGui)
If Not @error Then _Hyperlink($Pos)
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func _Hyperlink($hWnda)
If _ArraySearch($aTest, $hWnda) <> -1 Then
If $bTfb = True Then
GUICtrlSetFont($hWnda, 9, 400, 4)
GUICtrlSetColor($hWnda, 0x0080CC)
$hWndb = $hWnda
$bTfb = False
$bTfa = False
EndIf
Else
If $bTfa = False Then
GUICtrlSetFont($hWndb, 9)
GUICtrlSetColor($hWndb, 0x000000)
$bTfa = True
$bTfb = True
EndIf
EndIf
EndFunc ;==>_Hyperlink
回复 7# seniors
才开始学,太深奥了,没有这方面的例子 回复 8# 水木子
不知说什么好,就送你五个字吧,你太强悍了。 回复 10# qsy666888
呵呵!还以为被无视了呢!是你要的就好。 回复 8# 水木子
你这段代码,当二个超链接有重合的话,会不变色,我修改成这样了
#include <Array.au3>
Global $aTest
Global $hWndb
Global $bTfa = True, $bTfb = True
$MyGui = GUICreate('www.AutoItx.com', 400, 300)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 30, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 80, 40, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 130, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 180, 100, 17)
$aTest = GUICtrlCreateLabel('www.AutoItx.com', 50, 230, 100, 17)
GUISetState()
While 1
$Pos = GUIGetCursorInfo($MyGui)
If Not @error Then _Hyperlink($Pos)
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd
Func _Hyperlink($hWnda)
If _ArraySearch($aTest, $hWnda) <> -1 Then
If $hWndb <> $hWnda Then
GUICtrlSetFont($hWndb, 9)
GUICtrlSetColor($hWndb, 0x000000)
GUICtrlSetFont($hWnda, 9, 400, 4)
GUICtrlSetColor($hWnda, 0x0080CC)
$hWndb = $hWnda
$bTfa = False
EndIf
Else
If $bTfa = False Then
GUICtrlSetFont($hWndb, 9)
GUICtrlSetColor($hWndb, 0x000000)
$hWndb = 0
$bTfa = True
EndIf
EndIf
EndFunc ;==>_Hyperlink
回复 12# seniors
厉害 各种大神们好,路过,那个分,看看强悍的东西
页:
[1]