📄 ftoolbar.class
字号:
' Gambas class filePUBLIC CONST HEIGHT AS Integer = 20EVENT Change()PRIVATE CONST SELECT_TOOL AS String = "Select"PRIVATE $iSize AS IntegerPUBLIC Name AS StringPRIVATE Type AS StringPRIVATE $cButton AS NEW CollectionPRIVATE $sTool AS StringPUBLIC SUB _new(sName AS String, sType AS String) $iSize = Settings["/Toolbar/IconSize", 32] Name = sName Type = sType btnTool.Text = sName btnTool.Height = HEIGHT Add(SELECT_TOOL) SetToolENDPUBLIC SUB Add(sControl AS String) DIM hCtrl AS ToolButton DIM hPict AS Picture hCtrl = NEW ToolButton(panTool) AS "btnControl" hCtrl.Move(0, 0, $iSize + 8, $iSize + 8) hCtrl.Tag = sControl hCtrl.Border = FALSE hCtrl.Toggle = TRUE hCtrl.ToolTip = sControl TRY hPict = Picture["img/control" &/ LCase(sControl) & ".png"] IF hPict THEN IF hPict.Width <> $iSize THEN hPict = hPict.Image.Stretch($iSize, $iSize).Picture hCtrl.Picture = hPict ENDIF $cButton[sControl] = hCtrlENDPUBLIC SUB Form_Resize() DIM hCtrl AS ToolButton DIM X AS Integer DIM Y AS Integer DIM XM AS Integer DIM YM AS Integer btnTool.Width = ME.ClientW panTool.Resize(ME.ClientW, ME.ClientH - btnTool.H)' FOR EACH hCtrl IN panTool.Children'' IF (X + WIDTH) > panTool.ClientW THEN' X = 0' Y = Y + WIDTH' ENDIF'' hCtrl.Move(X, Y)'' XM = Max(XM, X)' YM = Max(YM, Y)'' X = X + WIDTH'' NEXT'' XM = XM + WIDTH' YM = YM + WIDTH 'ME.Resize(XM, YM)ENDPUBLIC FUNCTION GetTool() AS String IF $sTool <> SELECT_TOOL THEN RETURN $sToolENDPUBLIC SUB SetTool(OPTIONAL hButton AS ToolButton) DIM hCtrl AS Object IF $sTool THEN $cButton[$sTool].Value = FALSE ENDIF IF NOT hButton THEN hButton = $cButton[SELECT_TOOL] ENDIF hButton.Value = TRUE $sTool = hButton.TagENDPUBLIC PROCEDURE btnControl_Click() IF LAST.Tag = $sTool THEN SetTool ELSE SetTool(LAST) ENDIFENDPUBLIC SUB btnControl_DblClick() IF Project.IsForm(Project.ActiveForm) THEN IF GetTool() THEN Project.ActiveForm.AddControl(GetTool()) ENDIF ENDIFENDPUBLIC SUB btnTool_Click() RAISE Change FToolBox.SelectToolBar(Name)ENDPUBLIC SUB ShowToolBar(bShow AS Boolean) panTool.Visible = bShow IF bShow THEN $cButton["Select"].SetFocusEND
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -