AutoIt上路03-添加工具栏: http://www.gaohaiyan.com/918.html
按照我的设计,程序中会有多个界面,用以实现不同的管理主题。其中程序运行后有个默认界面,然后根据需要再打开更多界面;如果有多个界面打开,则显示在标签卡中,通过标签切换显示。
本文实现标签卡功能,描述其基本用法。
1。在窗体内创建标签卡控件,GUICtrlCreateTab
2。为标签卡添加点击事件处理,GUICtrlSetOnEvent
3。为标签卡添加标签,GUICtrlCreateTabItem
4。根据需要为标签头设置图片
5。结束选项标签页的定义,GUICtrlCreateTabItem("")
AutoIt内置创建标签卡的函数,提供了基本功能,用户定义函数目录\GUI参考\标签选项卡管理 中提供了更为丰富的函数,两者可以结合使用;当然仅使用自定义函数也可以做出高级功能的应用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
#include <GUIConstantsEx.au3> #include <GuiTab.au3> ; 用户自定义函数 #include <GuiToolbar.au3> #include <GuiImageList.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) Global $itemInToolbar $guiWelcome = GUICreate("威格灵", 400, 200) GUISetOnEvent($GUI_EVENT_CLOSE, "Func_GUI_EVENT_CLOSE") $menuFile = GUICtrlCreateMenu ( "文件 &F") $itemOpenInMenuFile = GUICtrlCreateMenuItem("打开", $menuFile) GUICtrlCreateMenuItem("", $menuFile) $itemExitInMenuFile = GUICtrlCreateMenuItem("退出", $menuFile) GUICtrlSetOnEvent($itemExitInMenuFile, "Func_GUI_EVENT_CLOSE") $toolbar = _GUICtrlToolbar_Create($guiWelcome) _GUICtrlToolbar_AddBitmap($toolbar, 1, -1, $IDB_STD_SMALL_COLOR) Local Enum $id_New = 1000, $id_Open, $id_Save, $id_Find, $id_Help _GUICtrlToolbar_AddButton($toolbar, $id_New, $STD_FILENEW) _GUICtrlToolbar_AddButton($toolbar, $id_Open, $STD_FILEOPEN) _GUICtrlToolbar_AddButton($toolbar, $id_Save, $STD_FILESAVE) _GUICtrlToolbar_AddButtonSep($toolbar) _GUICtrlToolbar_AddButton($toolbar, $id_Find, $STD_FIND) _GUICtrlToolbar_AddButtonSep($toolbar) _GUICtrlToolbar_AddButton($toolbar, $id_Help, $STD_HELP) ; 1。创建标签卡控件(x-距离窗体左边,y-距离窗体顶边,w,h),注意上面的工具条也占用高度,同时菜单栏底边设为0 $tabWelcome = GUICtrlCreateTab ( 1, 28, 398, 130) ; 标签头的高度约 22 ; 2。为标签卡添加点击事件处理 GUICtrlSetOnEvent($tabWelcome, "Func_TabWelcome") ; 3。添加标签(标题)。起始索引为0 $item0InTabWelcome = GUICtrlCreateTabItem("工程师记录") ; 4。在标签内添加控件。标签内的控件位置都是相对于窗体的,而不是此标签卡 GUICtrlCreateLabel("文本 0", 3, 52, 50, 20) ; 5。添加新的标签 $item1InTabWelcome = GUICtrlCreateTabItem("产品展示") GUICtrlCreateCombo("", 3, 52, 160, 120) ; 下拉框 GUICtrlSetData(-1, "数字地理教室|数字数学教师|数字化学教室|互动物理教室|崔维友作品|vigiles", "崔维友作品") ; 添加项目,默认选中 "崔维友作品" $item2InTabWelcome = GUICtrlCreateTabItem("学校信息管理") GUICtrlSetState(-1, $GUI_SHOW) ; 将首先显示 GUICtrlCreateButton("确定", 3, 52, 50, 22) ;----------------------------------------- 可选 start ---------------------------------------- ; 创建图像列表(ImageList)控件 $imgList = _GUIImageList_Create() ; 添加一或多个图像到图像列表(图像列表控件,调用WinAPI.au3创建单色位图) _GUIImageList_Add($imgList, _WinAPI_CreateSolidBitmap($guiWelcome, 0xFF0000, 16, 16)) _GUIImageList_Add($imgList, _WinAPI_CreateSolidBitmap($guiWelcome, 0x00FF00, 16, 16)) _GUIImageList_Add($imgList, _WinAPI_CreateSolidBitmap($guiWelcome, 0x0000FF, 16, 16)) ;设置(标签选项卡)控件关联的图像列表(标签卡,图像列表) _GUICtrlTab_SetImageList($tabWelcome, $imgList) ; 设置(标签选项卡)的标签图像(标签卡,标签索引-始于0,图像索引-始于0) _GUICtrlTab_SetItemImage($tabWelcome, 0, 0) _GUICtrlTab_SetItemImage($tabWelcome, 1, 1) _GUICtrlTab_SetItemImage($tabWelcome, 2, 2) ;----------------------------------------- 可选 end ------------------------------------------ ; 6。结束选项标签页的定义 GUICtrlCreateTabItem("") ; 后于标签卡创建,会在其顶层。注意x、y,否则可能遮挡标签卡 GUICtrlCreateLabel("文本 3", 1, 160, 50, 20) GUISetState(@SW_SHOW, $guiWelcome) GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") ;-------------------------------- 分割线 ----------------------------- While 1 Sleep(200) WEnd Func Func_GUI_EVENT_CLOSE () Exit EndFunc ; 响应标签卡点击事件 Func Func_TabWelcome () ; 获得标签索引。@GUI_CtrlId宏命令,获取刚刚点击的控件ID $ctrlId = GUICtrlRead (@GUI_CtrlId) ; 获得标签标题文本(控件,索引) $itemText = _GUICtrlTab_GetItemText(@GUI_CtrlId, $ctrlId) MsgBox(0, "提示", "你点击的标签卡:" & $ctrlId & " - " & $itemText ) EndFunc Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam) ; 未改动,内容略 EndFunc |
声明
本文由崔维友 威格灵 cuiweiyou vigiles cuiweiyou 原创,转载请注明出处:http://www.gaohaiyan.com/922.html
承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设