找回密码
 加入
搜索
楼主: smooth

[AU3基础] [已解决]请问如何在GUI控件上插入超链接?

[复制链接]
发表于 2009-9-26 10:32:55 | 显示全部楼层
借楼主的问题再请教下大家。
如何做到像下面图片那样,鼠标经过文字时,文字底部出现下划线。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-9-26 10:34:31 | 显示全部楼层
哇!哈哈,杂眼一看好像自己的回复被评分,“幻觉”
发表于 2009-9-26 10:35:05 | 显示全部楼层
我都晕了,啥时候在这评分了,呵呵
发表于 2009-9-26 10:45:35 | 显示全部楼层
我都晕了,啥时候在这评分了,呵呵
afan 发表于 2009-9-26 10:35



呵呵!挺忽悠的吧!

能帮忙解答下上面的问题吗?
发表于 2009-9-26 10:47:11 | 显示全部楼层
看到过类似的例子,我找找先
发表于 2009-9-26 10:48:22 | 显示全部楼层
看到过类似的例子,我找找先
afan 发表于 2009-9-26 10:47


我也在找
发表于 2009-9-26 10:56:01 | 显示全部楼层
$Form1 = GUICreate("超链", 137, 146, 404, 273)
$txt = GUICtrlCreateLabel("联系我们", 40, 40, 52, 16)
GUICtrlSetCursor(-1, 0)
GUISetState()
Dim $bj = 0
While 1
        $zt = GUIGetCursorInfo($Form1)
        If $zt[4] = $txt And $bj = 0 Then
                GUICtrlSetFont(-1, 9, 400, 4)
                GUICtrlSetColor(-1, 0x0000FF)
                $bj = 1
        ElseIf $zt[4] <> $txt And $bj = 1 Then
                GUICtrlSetFont(-1, 9, 400, 0)
                GUICtrlSetColor(-1, 0x000000)
                $bj = 0
        EndIf

        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case - 3
                        Exit
                Case $txt
                        Msgbox(0,0,'OK')
        EndSwitch
WEnd
发表于 2009-9-26 10:59:00 | 显示全部楼层
22# afan

谢谢!学习学习!
发表于 2009-9-26 11:02:15 | 显示全部楼层
顺便给LZ写了个例子,关于事件模式
Opt("GUIOnEventMode", 1)

$Form = GUICreate("宝宝出生倒计时计算器", 425, 400)
GUISetOnEvent(-3, "tc")
$lj = GUICtrlCreateLabel("访问鼎盛中国博客", 280, 323, 200, 17)
GUICtrlSetFont(-1, 10, 400, 4)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 0)
GUICtrlSetOnEvent(-1, "lj")
GUISetState()

While 1
        Sleep(5)
WEnd

Func tc()
        Exit
EndFunc   ;==>tc

Func lj()
        ShellExecute("http://www.autoitx.com")
EndFunc   ;==>lj
 楼主| 发表于 2009-9-26 22:02:34 | 显示全部楼层
24# afan


谢谢。我是新手,你的代码我要好好研究研究。
 楼主| 发表于 2009-9-27 10:13:04 | 显示全部楼层
$Form1 = GUICreate("超链", 137, 146, 404, 273)
$txt = GUICtrlCreateLabel("联系我们", 40, 40, 52, 16)
GUICtrlSetCursor(-1, 0)
GUISetState()
Dim $bj = 0
While 1
        $zt = GUIGetCursorInfo($Form1)
        I ...
afan 发表于 2009-9-26 10:56


你这个循环里面,“while 1”中的“1”表示什么意思啊,是不是表示第1个循环呢?我看帮助里没有说这么细的。
发表于 2009-9-27 10:16:24 | 显示全部楼层
1是表达式,若该表达式的值为true(真)(即1)则重复执行循环体语句
 楼主| 发表于 2009-9-27 10:58:22 | 显示全部楼层
本帖最后由 smooth 于 2009-9-27 11:00 编辑
1是表达式,若该表达式的值为true(真)(即1)则重复执行循环体语句
afan 发表于 2009-9-27 10:16


我根据你的思路,想达到这样的目的:当鼠标移动到"访问鼎盛中国网站",上面时,这几个字底下出现
横线,并且字体变成蓝色,当鼠标离开的时候,又还原回去。于是我写了下面这些代码,已经能实现
出现横线,但是字体不变蓝色。麻烦你帮我看看哪里的问题。
……
$lj = GUICtrlCreateLabel("访问鼎盛中国网站", 260, 325,96, 14)
GUICtrlSetCursor(-1, 0)
;
Global $vPartEdge[2], $vPartText[2]
$vPartEdge[0] = 200
$vPartEdge[1] = 400
$vPartText[0] = '  今天日期是:' & @YEAR & '年 ' & @MON & '月 ' & @MDAY & '日'
$vPartText[1] = '  Coded by 鼎盛中国,QQ:93737788'
_GUICtrlStatusBar_Create($Form, $vPartEdge, $vPartText)

_Set(GUICtrlRead($Date))
GUISetState(@SW_SHOW);窗口创建后是处于隐藏状态的,因此您必须使用本函数来使它们显示出来(@SW_SHOW).

Dim $bj = 0
While 1
        $zt = GUIGetCursorInfo($Form);获取(相对于 GUI 窗口的)鼠标位置.
        If $zt[4] = $lj And $bj = 0 Then
                GUICtrlSetFont(-1, 9, 400, 4)
                GUICtrlSetColor(-1, 0x0000FF)
                $bj = 1
        ElseIf $zt[4] <> $lj And $bj = 1 Then
                GUICtrlSetFont(-1, 9, 400, 0)
                GUICtrlSetColor(-1, 0x000000)
                $bj = 0
        EndIf
            $nMsg = GUIGetMsg()
            Switch $nMsg
                    Case $GUI_EVENT_CLOSE
                            _UnLoadSkin($hSkinDll)
                            FileDelete($SkinFile)
                            FileDelete($SkinDll)
                        Exit
                    Case $Date
                            _Set(GUICtrlRead($Date))
                            _Write($IniFile, 'Baby', 'PregnantDate', GUICtrlRead($Date))
                        Case - 3
                                Exit
                    Case $lj
                    ShellExecute("http://hi.baidu.com/cnace")
        EndSwitch
WEnd
……
发表于 2009-9-27 11:43:59 | 显示全部楼层
GUICtrlSetColor(-1, 0x0000FF) 这里面-1是指最后创建的控件,显然你的不是。将4处-1都改成 $lj
 楼主| 发表于 2009-9-27 12:43:06 | 显示全部楼层
GUICtrlSetColor(-1, 0x0000FF) 这里面-1是指最后创建的控件,显然你的不是。将4处-1都改成 $lj
afan 发表于 2009-9-27 11:43


改了还是不能显示蓝色。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-5 02:51 , Processed in 0.073425 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表