找回密码
 加入
搜索
查看: 1414|回复: 4

控件提示相关

[复制链接]
发表于 2009-11-11 13:06:20 | 显示全部楼层 |阅读模式
本帖最后由 xlcwxl 于 2009-11-11 17:10 编辑


怎样实现上面这种效果?
就是指向的控件不同,在GUI上面的提示也随着改变

本帖子中包含更多资源

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

×
发表于 2009-11-11 13:33:03 | 显示全部楼层
右边为一个group控件+文本
左面用消息循环模式来获取控件信息,再分别写出对应于左边的函数,应该不难!
发表于 2009-11-11 14:42:42 | 显示全部楼层
5685
怎样实现上面这种效果?
就是指向的控件不同,在GUI上面的提示也随着改变
xlcwxl 发表于 2009-11-11 13:06

参照下面修改看看:
Func ListView_HOTTRACK()   ;==>树视图_热跟踪
        Local $HotItem = _GUICtrlListView_GetHotItem($hListView)                                ;获取热项句柄
        Local $HotItemText = _GUICtrlListView_GetItemText($hListView, $HotItem)        ;获取热项文本
        Local $Split = StringSplit ( $HotItemText, @CRLF )                                                ;拆分字串
        Local $HotITemTextCost = IniRead ( @ScriptDir & "\Soft_Configure.ini", $Split[1], "软件简介", "默认值" );读取 软件简介 文本值
        If $HotItem <> -1 Then _GUICtrlStatusBar_SetText($hStatus, "软件简介: " & $HotITemTextCost )
EndFunc   ;==>树视图_热跟踪
发表于 2009-11-11 16:57:10 | 显示全部楼层
方法有很多,参考下这个
#include <GUIConstants.au3>
#include <GuiListView.au3>
#include <GuiStatusbar.au3>
#include <array.au3>
#include <process.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("TrayMenuMode", 1)
Global $path[1], $run[1], $checkall = 1
$title = "软件自动安装管理器 V1.0"
$build = "最后更新:2008-01-21"
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$AForm1 = GUICreate($title, 640, 430, 193, 125)
$Pic1 = GUICtrlCreatePic(@TempDir & "\logo.jpg", 3, 3, 634, 100, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetState(-1, $GUI_DISABLE)
$Label1 = GUICtrlCreateLabel("请选项择您要安装的软件:", 10, 115, 139, 17)
$ListView1 = GUICtrlCreateListView("软件名称|说明|状态", 8, 130, 622, 193)
GUICtrlSendMsg($ListView1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
GUICtrlSendMsg($ListView1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
GUICtrlSendMsg($ListView1, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_CHECKBOXES, $LVS_EX_CHECKBOXES)

_GUICtrlListView_SetColumnWidth($ListView1, 0, 150)
_GUICtrlListView_SetColumnWidth($ListView1, 1, 350)
_GUICtrlListView_SetColumnWidth($ListView1, 2, 118)
;$Edit1 = GUICtrlCreateEdit("", 8, 352, 617, 49, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
;GUICtrlSetData(-1, "Edit1")
$Label2 = GUICtrlCreateLabel("欢迎访问:http://www.autoitx.com", 9, 331, 620, 20, BitOR(0x0300, $ss_sunken))
GUICtrlSetBkColor(-1, 0xffffff)
GUICtrlSetColor(-1, 0x0000FF)
$Button1 = GUICtrlCreateButton("关于(&A)", 176, 368, 81, 28)
$Button2 = GUICtrlCreateButton("全选/取消(&S)", 268, 368, 81, 28)
$Button5 = GUICtrlCreateButton("手动安装(&M)", 360, 368, 81, 28)
$Button3 = GUICtrlCreateButton("自动安装(&I)", 452, 368, 81, 28)
$Button4 = GUICtrlCreateButton("退出(&X)", 544, 368, 81, 28)
;~ GUICtrlSetOnEvent($Button1, "_about")
;~ GUICtrlSetOnEvent($Button2, "_cancel")
;~ GUICtrlSetOnEvent($Button3, "_autoinst")
;~ GUICtrlSetOnEvent($Button5, "_autoinst")
;~ GUICtrlSetOnEvent($Button4, "_exit")
$Label3 = GUICtrlCreateLabel("By Pcbar   (C) 2008.01", 12, 376, 141, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")

Local $a_PartsRightEdge[3] = [400, 550, -1]
Local $a_PartsText[3] = [$title, @TAB & @YEAR & "年" & @MON & "月" & @MDAY & "日", @TAB & @HOUR & ":" & @MIN & ":" & @SEC]
$StatusBar1 = _GUICtrlStatusBar_Create($AForm1, $a_PartsRightEdge, $a_PartsText)
#EndRegion ### END Koda GUI section ###


GUISwitch($AForm1)
GUISetState(@SW_SHOW)
Dim $list


While 1
        Sleep(250)
        If BitAND(WingetState($title),8) and BitAND(WinGetState("关于", 'pcbar'), 2) And (Not BitAND(WinGetState("关于", 'pcbar'), 8)) Then
                Beep(600, 100)
                WinActivate("关于", "pcbar")
                WinFlash("关于", 'pcbar', 3, 100)

        EndIf
        $mousepos = GUIGetCursorInfo($AForm1)
        Switch $mousepos[4]
                Case $Button1
                        _GUICtrlStatusBar_SetText($StatusBar1, "关于本软件。", 0)
                Case $Button2
                        _GUICtrlStatusBar_SetText($StatusBar1, "选择所有/取消所有选择。", 0)
                Case $Button3
                        _GUICtrlStatusBar_SetText($StatusBar1, "自动安装所有被选择的软件。", 0)
                Case $Button4
                        _GUICtrlStatusBar_SetText($StatusBar1, "退出本软件。", 0)
                Case $Button5
                        _GUICtrlStatusBar_SetText($StatusBar1, "手动安装软件。", 0)
                Case $ListView1
                        _GUICtrlStatusBar_SetText($StatusBar1, "请选择要安装的软件。", 0)
                Case Else
                        _GUICtrlStatusBar_SetText($StatusBar1, $title, 0)
        EndSwitch
        _GUICtrlStatusBar_SetText($StatusBar1, @TAB & @HOUR & ":" & @MIN & ":" & @SEC, 2)

WEnd

Func _exit()

        Exit
EndFunc   ;==>_exit

评分

参与人数 1金钱 +10 贡献 +5 收起 理由
xlcwxl + 10 + 5 感谢你的支!

查看全部评分

发表于 2010-1-27 15:19:37 | 显示全部楼层
我比较喜欢用状态栏提示文字这种方式,下面是随手写的一个界面提示的例子,用tooltip有时候太麻烦,而且容易遮挡界面。。。


#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 228, 128, 192, 124)
$Button1 = GUICtrlCreateButton("1", 8, 8, 65, 25)
$Button2 = GUICtrlCreateButton("2", 80, 8, 65, 25)
$Button3 = GUICtrlCreateButton("3", 152, 8, 65, 25)
$Button4 = GUICtrlCreateButton("4", 8, 40, 65, 25)
$Button5 = GUICtrlCreateButton("5", 80, 40, 65, 25)
$Button6 = GUICtrlCreateButton("6", 152, 40, 65, 25)
$Button7 = GUICtrlCreateButton("7", 8, 72, 65, 25)
$Button8 = GUICtrlCreateButton("8", 80, 72, 65, 25)
$Button9 = GUICtrlCreateButton("9", 152, 72, 65, 25)
$Label1 = GUICtrlCreateLabel("状态栏", 8, 104, 140, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Lastcontrol = 0
While 1
        $nMsg = GUIGetMsg()
        $mouse = GUIGetCursorInfo($Form1)
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
        EndSwitch
        Switch $mouse[4];鼠标移到指定控件显示提示文字,可增加很多
                Case $Button1
                        If $mouse[4] <> $Lastcontrol Then
                                GUICtrlSetData($Label1, "按钮1") ;给出工具提示
                                $Lastcontrol = $mouse[4];记录最后一次鼠标放置的控件
                        EndIf
                Case $Button2
                        If $mouse[4] <> $Lastcontrol Then;必须加这个验证一下上次鼠标放置的控件是不是当前控件,否则会一直更新提示文字
                                GUICtrlSetData($Label1, "按钮2")
                                $Lastcontrol = $mouse[4]
                        EndIf
                Case $Button3
                        If $mouse[4] <> $Lastcontrol Then
                                GUICtrlSetData($Label1, "按钮3")
                                $Lastcontrol = $mouse[4]
                        EndIf
                Case $Button4
                        If $mouse[4] <> $Lastcontrol Then
                                GUICtrlSetData($Label1, "按钮4") ;给出工具提示
                                $Lastcontrol = $mouse[4];记录最后一次鼠标放置的控件
                        EndIf
                Case $Button5
                        If $mouse[4] <> $Lastcontrol Then;必须加这个验证一下上次鼠标放置的控件是不是当前控件,否则会一直更新提示文字
                                GUICtrlSetData($Label1, "按钮5")
                                $Lastcontrol = $mouse[4]
                        EndIf
                Case $Button6
                        If $mouse[4] <> $Lastcontrol Then
                                GUICtrlSetData($Label1, "按钮6")
                                $Lastcontrol = $mouse[4]
                        EndIf                                
;~                 Case Else
;~                         If $mouse[4] <> $Lastcontrol Then
;~                                 GUICtrlSetData($Label1, "这里是状态栏提示文字。。。。。")
;~                                 $Lastcontrol = $mouse[4]
;~                         EndIf
        EndSwitch
WEnd


传送门
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 02:12 , Processed in 0.139359 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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