⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccoolbutton.class

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 CLASS
字号:
' Gambas class filePROPERTY Enabled AS BooleanPROPERTY ToolTip AS StringPUBLIC Tag AS StringPRIVATE $hPanel AS PanelPRIVATE $hImage AS PictureBoxPRIVATE $hLabel AS LabelEVENT Click()PUBLIC SUB _new(hContainer AS Container, X AS Integer, Y AS Integer, W AS Integer, H AS Integer, sText AS String, vICon AS Variant, OPTIONAL sFont AS String)  DIM hPict AS Picture  $hPanel = NEW Panel(hContainer) AS "Panel"  $hPanel.Move(X, Y, W, H)  $hPanel.Mouse = Mouse.Pointing  IF TypeOf(vIcon) = gb.String THEN    hPict = Picture[vIcon]  ELSE    hPict = vIcon  ENDIF  $hImage = NEW PictureBox($hPanel) AS "Panel"  $hImage.Move(8, 4, hPict.Width, H - 8)  $hImage.Alignment = Align.Center  $hImage.Picture = hPict  $hLabel = NEW Label($hPanel) AS "Panel"  $hLabel.Move($hImage.X + $hImage.W + 8, 4, W - ($hImage.X + $hImage.W + 8) - 8, H - 8)  $hLabel.Alignment = Align.Left  $hLabel.Text = sText  '$hLabel.Foreground = Color.White  IF sFont THEN $hLabel.Font = Font[sFont]ENDPUBLIC SUB Panel_Enter()  IF Object.Type(LAST) <> "Panel" THEN RETURN  LAST.BackColor = &88D5FF&ENDPUBLIC SUB Panel_Leave()  IF Object.Type(LAST) <> "Panel" THEN RETURN  LAST.BackColor = LAST.Window.BackgroundENDPRIVATE FUNCTION GetPanel() AS Panel  DIM hPanel AS Panel  TRY hPanel = LAST  IF ERROR THEN    hPanel = LAST.Parent  ENDIF  RETURN hPanelENDPUBLIC SUB Panel_MouseDown()  GetPanel().Border = Border.Sunken  $hLabel.Move($hLabel.X + 1, $hLabel.Y + 1)  $hImage.Move($hImage.X + 1, $hImage.Y + 1)ENDPUBLIC SUB Panel_MouseUp()  DIM hPanel AS Panel  DIM X AS Integer  DIM Y AS Integer  hPanel = GetPanel()  hPanel.Border = Border.None  X = Mouse.X  Y = Mouse.Y  IF LAST <> hPanel THEN    X = X + LAST.X    Y = Y + LAST.Y  ENDIF  $hLabel.Move($hLabel.X - 1, $hLabel.Y - 1)  $hImage.Move($hImage.X - 1, $hImage.Y - 1)  IF (X >= 0 AND Y >= 0 AND X < hPanel.W AND Y < hPanel.H) THEN    RAISE Click()  ELSE    'PRINT "Pas Click !"; X; " "; Y; " "; hPanel.W; " "; hPanel.H  ENDIFENDPRIVATE FUNCTION Enabled_Read() AS Boolean  RETURN $hPanel.EnabledENDPRIVATE SUB Enabled_Write(bEnabled AS Boolean)  $hPanel.Enabled = bEnabledENDPUBLIC SUB Move(X AS Integer, Y AS Integer)  $hPanel.Move(X, Y)ENDPUBLIC SUB Resize(W AS Integer, H AS Integer)  $hPanel.Resize(W, H)  $hLabel.Resize(W - ($hImage.X + $hImage.W + 8) - 8, H - 8)ENDPRIVATE FUNCTION ToolTip_Read() AS String  RETURN $hPanel.ToolTipENDPRIVATE SUB ToolTip_Write(sToolTip AS String)  $hPanel.ToolTip = sToolTip  '$hImage.ToolTip = sToolTip  '$hLabel.ToolTip = sToolTipEND

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -