📄 cwizard.class
字号:
' Gambas class fileEVENT Change()PROPERTY READ Index AS IntegerPROPERTY READ Tag AS IntegerPRIVATE $hPanel AS NEW CollectionPRIVATE $iStep AS IntegerPRIVATE $nStep AS IntegerPRIVATE $hPrev AS ButtonPRIVATE $hNext AS ButtonPRIVATE $hButton AS ButtonPUBLIC SUB _new(hForm AS Form, hPrev AS Button, hNext AS Button, hButton AS Button) DIM hCtrl AS Control $hPrev = hPrev $hNext = hNext $hButton = hButton hButton.Enabled = FALSE FOR EACH hCtrl IN hForm.Children IF Object.Type(hCtrl) = "Panel" THEN IF hCtrl.Tag THEN $hPanel[hCtrl.Tag] = hCtrl ENDIF ENDIF NEXT ShowStep ENDPRIVATE FUNCTION GetPanel(iStep AS Integer) AS Panel DIM hPanel AS Panel DIM aStep AS NEW Integer[] FOR EACH hPanel IN $hPanel IF hPanel.Enabled THEN IF hPanel.Tag THEN aStep.Add(Val(hPanel.Tag)) ENDIF 'PRINT hPanel.Tag; ","; ENDIF NEXT 'PRINT aStep.Sort $nStep = aStep.Count 'PRINT "$nStep = "; $nStep TRY RETURN $hPanel[aStep[iStep]] ENDPRIVATE SUB ShowStep() DIM hPanel AS Panel DIM hCurrent AS Panel hCurrent = GetPanel($iStep) FOR EACH hPanel IN $hPanel IF hPanel = hCurrent THEN WITH $hPanel["0"] hPanel.Move(.X, .Y, .W, .H) END WITH 'hPanel.Border = Border.None ELSE hPanel.Visible = FALSE ENDIF NEXT $hButton.Enabled = $iStep = ($nStep - 1) $hPrev.Enabled = $iStep > 0 $hNext.Enabled = $iStep < ($nStep - 1) RAISE Change hCurrent.Visible = TRUE ENDPUBLIC SUB Next() GetPanel($iStep) ' update $nStep IF $iStep >= ($nStep - 1) THEN RETURN INC $iStep ShowStep ENDPUBLIC SUB Previous() IF $iStep <= 0 THEN RETURN DEC $iStep ShowStep ENDPRIVATE FUNCTION Index_Read() AS Integer RETURN $iStep ENDPUBLIC SUB Enable(iStep AS Integer, bOn AS Boolean) $hPanel[iStep].Enabled = bOn GetPanel($iStep) ENDPRIVATE FUNCTION Tag_Read() AS Integer RETURN Val(GetPanel($iStep).Tag) ENDPUBLIC SUB Resize() ShowStep END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -