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

📄 ccooltabs.class

📁 Gambas is a graphical development environment based on a Basic interpreter, like Visual Basic. It us
💻 CLASS
字号:
' Gambas class filePUBLIC Pan AS panelPRIVATE arButton AS NEW String[]PRIVATE arPanel AS NEW Object[]PUBLIC Current AS PictureBoxPRIVATE iDTab AS IntegerPRIVATE btnTop AS IntegerPUBLIC StaticButton AS IntegerEVENT ButtonClick(Index AS Integer, Button AS Integer)PUBLIC SUB _new(hContainer AS Container,  bRoot AS Boolean, bHome AS Boolean, bProject AS Boolean)  DIM But AS PictureBox  Pan = NEW Panel (hContainer) AS "Panel"  Pan.Width = 24  Pan.Border = Border.None    'arButton.Add("/mnt/windows/Mes documents")  'arButton.Add("/home/Gambas")  'Current = iDefaultTab  'iDTab = iDefaultTab  btnTop = 0    IF bHome THEN      But = NEW PictureBox(Pan) AS "Button"    But.ForeColor = Color.LightGray    But.Border = Border.Plain    But.Alignment = Align.Center    but.Picture = Picture["img/16/home.png"]    But.MOVE (2,5 + btnTop,25,24)    But.ToolTip = System.Home    arPanel.add (But)    But.Tag = arPanel.Count - 1    But.Mouse = Mouse.Pointing    btnTop = btnTop + 24    StaticButton = StaticButton + 1  ENDIF    IF bRoot THEN    But = NEW PictureBox(Pan) AS "Button"    But.ForeColor = Color.LightGray    But.Border = Border.Plain    But.Alignment = Align.Center    but.Picture = Picture["img/16/root.png"]    But.MOVE (2,5 + btnTop,25,24)    But.ToolTip = "/"    arPanel.add (But)    But.Tag = arPanel.Count - 1    But.Mouse = Mouse.Pointing    btnTop = btnTop + 24    StaticButton = StaticButton + 1  ENDIF  IF bProject THEN    IF Project.Path THEN      But = NEW PictureBox(Pan) AS "Button"      But.ForeColor = Color.LightGray      But.Border = Border.Plain      But.Alignment = Align.Center      but.Picture = Picture["img/16/gambas.png"]      But.MOVE (2,5 + btnTop,25,24)      But.ToolTip = File.Dir(Project.Path)      arPanel.add (But)      But.Tag = arPanel.Count - 1      But.Mouse = Mouse.Pointing      btnTop = btnTop + 24      StaticButton = StaticButton + 1    ENDIF  ENDIF    'AddButton("/mnt/windows/Mes documents")    Current = arPanel[0]  ENDPUBLIC SUB AddButton(sPath AS String)DIM SDir AS StringDIM But AS PictureBoxDIM i AS IntegerIF NOT Exist(sPath) THEN RETURN'FOR i = 0 TO arButton.count - 1'FOR EACH sDir IN ArButtonBut = NEW PictureBox(Pan) AS "Button"'But.BackGround = Color.GreenBut.ForeColor = Color.LightGrayBut.Border = Border.PlainBut.Alignment = Align.Centerbut.Picture = Picture["img/16/todir.png"]But.MOVE (2,5 + btnTop,25,24)But.ToolTip = sPatharPanel.add (But)But.Tag = arPanel.Count - 1But.Mouse = Mouse.PointingbtnTop = arPanel.Count * 24 - 1'NEXTCurrent = arPanel[0]ENDPUBLIC FUNCTION Width() AS Integer    RETURN Pan.Width  ENDPUBLIC SUB Move(iLeft AS Integer, OPTIONAL iTop AS Integer, OPTIONAL iWidth AS Integer, OPTIONAL iHeight AS Integer)  Pan.Move (iLeft, iTop, 24, iHeight)  ENDPUBLIC SUB Button_MouseUp()  DIM img AS PictureBox   img = LAST   IF Current.BackColor <> &HE9E9E9 AND NOT Mouse.Right THEN Button_UnSelect(-1)   Button_Select(LAST.Tag)   RAISE  ButtonClick(img.Tag, Mouse.Button)ENDPUBLIC SUB Button_Select(Button AS Integer)  'DIM Img AS Image  'Img = LAST  IF arPanel.Count - 1 < Button THEN Button = arPanel.Count - 1  IF arPanel[Button].Border = Border.Raised THEN RETURN    arPanel[Button].Border = Border.Raised  arPanel[Button].BackColor = &HFFFFFF&  arPanel[Button].Move(arPanel[Button].Left - 1,arPanel[Button].Top + 1)  Current = arPanel[Button]  'Message (Current.ToolTip)    ENDPUBLIC SUB Button_Enter()    LAST.BackColor = &HFFFFFF&  ENDPUBLIC SUB Button_Leave()    IF LAST.border = Border.Raised THEN RETURN  LAST.BackColor = &HE9E9E9&  ENDPUBLIC SUB Button_UnSelect(OPTIONAL Index AS Integer)  DIM Cur AS PictureBox    IF Index <> -1 THEN              arPanel[Index].Border = Border.Plain      arPanel[Index].BackColor = Pan.BackColor      IF arPanel[Index].Left <> 2 THEN arPanel[Index].Move(arPanel[Index].Left + 1,arPanel[Index].Top - 1)     ELSE          FOR EACH cur IN arPanel        'IF Cur.Border = Border.Plain THEN RETURN        Cur.Border = Border.Plain        Cur.BackColor = Pan.BackColor        IF Cur.Left <> 2 THEN Cur.Move(Cur.Left + 1,Cur.Top - 1)      NEXT  END IFENDPUBLIC SUB Remove(Index AS Integer)  'DIM iTop AS Integer  DIM i AS Integer  arPanel[index].Visible = FALSE  btnTop = arPanel[Index].Top  FOR i = index + 1 TO arPanel.Count - 1    arPanel[i].Top = btnTop     arPanel[i].Tag = arPanel[i].Tag - 1    btnTop = btnTop + 24  NEXT  arPanel.Remove(index)  Button_Select(index - 1)  RAISE ButtonClick(Current.Tag, 1)ENDPUBLIC FUNCTION GetTabUrl (Index AS Integer) AS String    RETURN arPanel[Index].ToolTip  ENDPUBLIC FUNCTION Count() AS Integer    'Message(arPanel.Count)  RETURN arPanel.Count  ENDPUBLIC FUNCTION GetBookMark(Index AS Integer) AS PictureBox    RETURN arPanel[Index]  END

⌨️ 快捷键说明

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