📄 fformstack.class
字号:
' Gambas class fileSTATIC PRIVATE $hForm AS ObjectSTATIC PRIVATE $cPict AS NEW CollectionPRIVATE $bNoSelect AS BooleanPUBLIC SUB Form_Show() RefreshAllENDPUBLIC SUB Form_Hide() $hForm = NULLENDPRIVATE SUB FillTree(hCtrl AS CControl, OPTIONAL sParent AS String) DIM hChild AS Control DIM hTab AS TabStrip DIM iTab AS Integer DIM sImg AS String DIM sKey AS String DIM hPict AS Picture IF NOT hCtrl THEN RETURN IF sParent THEN sImg = "img/control/" & LCase(hCtrl.Kind) & ".png" ELSE sImg = "img/32/form.png" ENDIF hPict = $cPict[sImg] IF NOT hPict THEN hPict = Picture[sImg].Image.Stretch(16, 16, TRUE).Picture $cPict[sImg] = hPict ENDIF tvwControl.Add(hCtrl.Name, hCtrl.Name, hPict, sParent) IF NOT hCtrl.IsContainer() THEN RETURN IF hCtrl.Kind = "TabStrip" THEN hTab = hCtrl.Control FOR iTab = 0 TO hTab.Count - 1 sKey = hCtrl.Name & "." & iTab tvwControl.Add(sKey, hTab[iTab].Caption, $cPict["img/control/tabstrip.png"], hCtrl.Name) tvwControl[sKey].Expanded = TRUE FOR EACH hChild IN hTab[iTab].Children FillTree($hForm.Control[hChild.Tag], sKey) NEXT NEXT ELSE FOR EACH hChild IN hCtrl.Control.Children FillTree($hForm.Control[hChild.Tag], hCtrl.Name) NEXT ENDIF tvwControl[hCtrl.Name].Expanded = TRUEENDPUBLIC SUB Form_Resize() lblMessage.W = ME.ClientW - lblMessage.X * 2 tvwControl.Move(0, 0, ME.CLientW, ME.ClientH)ENDPUBLIC SUB RefreshAll() IF NOT ME.Visible THEN RETURN $hForm = Project.ActiveForm IF NOT $hForm THEN RETURN 'GOTO _HIDE IF NOT Project.IsForm($hForm) THEN RETURN tvwControl.Clear FillTree($hForm.Control[$hForm.Name]) tvwControl.ShowENDPUBLIC SUB HideAll() tvwControl.HideEND'PUBLIC SUB tvwControl_Collapse()'' TRY tvwControl.Item.Expanded = TRUE''END' PUBLIC SUB tvwControl_Select()'' DIM sParent AS String' DIM sKey AS String'' IF $bNoSelect THEN RETURN' $bNoSelect = TRUE'' IF NOT tvwControl.Item.MoveParent() THEN' sParent = tvwControl.Item.Key' ENDIF'' tvwControl.MoveFirst' WHILE tvwControl.Available'' 'PRINT tvwControl.Item.Key'' IF NOT tvwControl.Item.Selected THEN GOTO SUIVANT' sKey = tvwControl.Item.Key' IF NOT tvwControl.MoveParent() THEN' IF tvwControl.Item.Key = sParent THEN' tvwControl.MoveTo(sKey)' GOTO SUIVANT' ENDIF' ENDIF' tvwControl.MoveTo(sKey)' tvwControl.Item.Selected = FALSE'' SUIVANT:' tvwControl.MoveBelow' WEND'' $bNoSelect = FALSE'' END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -