在不使用OnEvent事件函数通知的情况下如何让工具栏按钮有作用??
程序代码 如下:请问 如何在不使用OnEvent事件函数通知的情况下如何让工具栏按钮有作用??
求高手帮忙改一下谢谢!!
#include <GuiToolbar.au3>
#include <GuiMenu.au3>
#include <GuiToolTip.au3>
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GUIComboBox.au3>
#include <Constants.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <FontConstants.au3>
Opt("GUIOnEventMode", 0)
$WinSub = GUICreate(" 基本数据设定" , 800,600, -1, -1, BitOR($WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SYSMENU, $WS_GROUP, $WS_TABSTOP), -1 );BitOR($WS_CHILD, $WS_MINIMIZEBOX, $WS_CAPTION, $WS_SYSMENU)
$hToolbarSub=_GUICtrlToolbar_Create($WinSub);工具条
_GUICtrlToolbar_SetStyleCustomErase($hToolbarSub, True)
_GUICtrlToolbar_SetExtendedStyle($hToolbarSub, $TBSTYLE_EX_DRAWDDARROWS)
$hImage = _GUIImageList_Create(16, 16, 5, 3, 4)
_GUIImageList_AddIcon($hImage, "shell32.dll", 15, True)
_GUIImageList_AddIcon($hImage, "shell32.dll", 16, True)
_GUICtrlToolbar_SetImageList($hToolbarSub, $hImage)
; 添加按钮
_GUICtrlToolbar_AddButton($hToolbarSub, 901, 0, _GUICtrlToolbar_AddString($hToolbarSub, "新增"))
_GUICtrlToolbar_AddButton($hToolbarSub, 902, 1, _GUICtrlToolbar_AddString($hToolbarSub, "存档"))
$aSize = _GUICtrlToolbar_GetButtonSize($hToolbarSub)
_GUICtrlToolbar_SetButtonSize($hToolbarSub, $aSize, 50)
$Label1 = GUICtrlCreateLabel("_", 0, 43, @DesktopWidth, 1, 0x1000);线条的部份
GUICtrlSetResizing(-1,802)
GUISetState()
While 1
Switch guigetmsg()
Case $GUI_EVENT_CLOSE
EXIT
Case 901
GuiSetState(@SW_DISABLE,$WinSub) ; 禁用窗口,以防用户作出其他更改
MsgBox(0,"","新增按钮")
WinActivate($WinSUB,"")
GuiSetState(@SW_ENABLE,$WinSub) ; 使窗口重新可用
EndSwitch
Sleep(10)
WEnd
回复 1# kk_lee69
好象要加上:GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") 一直对循环模式的事件不晓得怎么弄,留名学习。 回复 2# chzj589
就是要找不使用GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") 的方法 回复 2# chzj589
有沒有辦法用 BUTTON 模仿出工具列的感覺 回复 5# kk_lee69
K大你在研究啥呢,没太明白。 回复 6# heroxianf
上面的 範例請讓我的工作列按鈕 可以作用即可
不可以使用
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
這兩個 要讓 按鈕 按下去 有作用
或者可以直接利用BUTTON 模仿出 這個效果 也可以解決我的問題 本帖最后由 chzj589 于 2016-9-5 16:03 编辑
回复 5# kk_lee69
用 BUTTON 模仿出工具栏
回复 8# chzj589
工具列是个什么东东? 回复 9# heroxianf
工具栏TOOLBAR 回复 7# kk_lee69
用 BUTTON 模仿出工具栏
#include <GuiToolbar.au3>
#include <GuiMenu.au3>
#include <GuiToolTip.au3>
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GUIComboBox.au3>
#include <Constants.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <FontConstants.au3>
#include <GuiButton.au3>
;Opt("GUIOnEventMode", 0)
Global $iCmdID, $hWndGUI, $MsgID, $wParam, $lParam, $e_idSave, $aStrings
$WinSub = GUICreate(" 基本数据设定", 800, 600, -1, -1, BitOR($WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SYSMENU, $WS_GROUP, $WS_TABSTOP), -1);BitOR($WS_CHILD, $WS_MINIMIZEBOX, $WS_CAPTION, $WS_SYSMENU)
$Button1 = GUICtrlCreateLabel("新增按钮", 10, 60, 60, 30)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
$MenButton1 = GUICtrlCreateButton("", 10, 5, 48, 48, $WS_EX_WINDOWEDGE)
$hImage = _GUIImageList_Create(40, 40, 5, 1, 0)
_GUICtrlButton_SetImageList($MenButton1, _set_button_image_maxx(39), 5)
$Button2 = GUICtrlCreateLabel("存档按钮", 80, 60, 60, 30)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetBkColor(-1, -2)
GUICtrlSetCursor(-1, 0)
$MenButton2 = GUICtrlCreateButton("", 80, 5, 48, 48, $WS_EX_WINDOWEDGE)
$hImage = _GUIImageList_Create(40, 40, 5, 1, 0)
_GUICtrlButton_SetImageList($MenButton2, _set_button_image_maxx(20), 5)
$Label1 = GUICtrlCreateLabel("_", 0, 76, @DesktopWidth, 1, 0x1000);线条的部份
GUICtrlSetResizing(-1,802)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Button1, $MenButton1
;MsgBox(0, "信息", "按钮选择状态: " & _GUICtrlToolbar_IsButtonChecked($hToolbarSub, $e_idSave))
;GUISetState(@SW_DISABLE, $WinSub) ; 禁用窗口,以防用户作出其他更改
MsgBox(0, "", "新增按钮")
;WinActivate($WinSub, "")
;GUISetState(@SW_ENABLE, $WinSub) ; 使窗口重新可用
Case $Button2, $MenButton2
MsgBox(0, "", "存档按钮")
EndSwitch
WEnd
Func _set_button_image_maxx($icon_index)
Local $hImage_Temp = _GUIImageList_Create(40, 40, 5, 3, 6)
_GUIImageList_AddIcon($hImage_Temp, "Shell32.dll", $icon_index, True)
Return $hImage_Temp
EndFunc ;==>_set_button_image_maxx 回复 8# chzj589
這個 可以 可是 你應該是 按鈕歸按鈕字是用Label 標籤處理的嗎???
方便 給我看看 上面那段 工具列的源碼嗎?? 回复 10# kk_lee69
哦,我之前用的是按钮用图片填充,取消文字,采用鼠标在上面文字提示。 回复 12# kk_lee69
兄弟,能行不? 回复 12# kk_lee69
楼上的源码放出了,字确实是Label标签处理的
页:
[1]
2