请高手帮助做一个桌面工具条
本帖最后由 在下 于 2011-6-4 21:43 编辑请高手帮助做一个象“FastStone Capture”这个软件一样的桌面工具条窗体(不需要好看的SKIN)。
下面这些我都不知道如何弄:
1、按钮之间的分隔线;
2、点击(有▼标记的)按钮展开菜单;
3、只有最小化和关闭按钮(不要最大化按钮);
4、运行之后不在桌面任务栏显示,只在任务栏右边的通知区域显示。
5、工具条按钮上如何显示图标。
请高手帮助做一个这样的例子脚本学习一下,万分感谢!
还有就是 按钮旁的文字 有的是显示在图标下面,有的是显示在图标右边是如何弄的?
使用 _GUICtrlToolbar_* 类函数。。。。。。。。。 谢谢131738 ,我看看帮助文档,慢慢的一个一个的查了。 本帖最后由 在下 于 2011-6-5 14:35 编辑
自己参考帮助及例子(用有道词典翻译),做了一个,真难搞,函数、参数太多了。
#include <GuiToolbar.au3>
#include <GuiMenu.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt('MustDeclareVars', 1)
$Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
Global $hGUI, $hToolbar
Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
_Main()
Func _Main()
; Create GUI
$hGUI = GUICreate("Toolbar", 200, 33,-1,-1,-1, BitOR($WS_EX_TOPMOST,$WS_EX_TOOLWINDOW))
;~ $hGUI = GUICreate("Toolbar", 250, 33,-1,-1,BitOR($WS_SYSMENU,$WS_CAPTION,$WS_MINIMIZEBOX), $WS_EX_TOPMOST)
$hToolbar = _GUICtrlToolbar_Create ($hGUI)
_GUICtrlToolbar_SetExtendedStyle($hToolbar, $TBSTYLE_EX_DRAWDDARROWS)
GUISetState()
; Add standard system bitmaps
Switch _GUICtrlToolbar_GetBitmapFlags ($hToolbar)
Case 2
_GUICtrlToolbar_AddBitmap ($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
Case 0
_GUICtrlToolbar_AddBitmap ($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
EndSwitch
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0,$BTNS_WHOLEDROPDOWN ) ;指定的按钮将会有一个下拉箭头
;~ _GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0,$BTNS_DROPDOWN) ;创建一个下拉列表风格按钮,可以显示一个列表
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
; Register message handlers
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
; Loop until user exits
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; Handle TBN_DROPDOWN message
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
Local $tNMHDR, $iCode, $hMenu
$tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
$iCode = DllStructGetData($tNMHDR, "Code")
If $iCode = $TBN_DROPDOWN Then ;
$hMenu = _GUICtrlMenu_CreatePopup()
_GUICtrlMenu_AddMenuItem($hMenu, "Template 1", 2000)
_GUICtrlMenu_AddMenuItem($hMenu, "Template 2", 2001)
_GUICtrlMenu_AddMenuItem($hMenu, "Template 3", 2002)
_GUICtrlMenu_AddMenuItem($hMenu, "", 0)
_GUICtrlMenu_AddMenuItem($hMenu, "Template 4", 2003)
_GUICtrlMenu_AddMenuItem($hMenu, "Template 5", 2004)
_GUICtrlMenu_TrackPopupMenu($hMenu, $hGUI)
_GUICtrlMenu_DestroyMenu($hMenu)
EndIf
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
; Handle WM_COMMAND messages
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Switch $iwParam
Case 2000
_WinAPI_ShowMsg ("Template 1")
Case 2001
_WinAPI_ShowMsg ("Template 2")
Case 2002
_WinAPI_ShowMsg ("Template 3")
Case $idOpen
_WinAPI_ShowMsg ("Open")
EndSwitch
EndFunc ;==>WM_COMMAND 有这软件的初级入门教程么,我看着也很头大 路过。。。。。。。。 多看帮助,主要是对函数不熟。。 挺好看,收藏下来学习 东西太多值得学习下 收藏了,不错 带界面的有没有 不错,顶一下 感谢分享,学习了!!! 回复 1# 在下
1,2,4,5都不是问题,3没可能,除非自己画 如果请高手动手做,请放在交易区,出RMB。
页:
[1]
2