fformstack.class
来自「Gambas is a graphical development enviro」· CLASS 代码 · 共 143 行
CLASS
143 行
' 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 + =
减小字号Ctrl + -
显示快捷键?