ButtonPosInfo.cls
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:4k
源码类别:

浏览器

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "cButtonPosInfo"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. '---------------------------------------------------------------------------------------
  15. ' Module    : cButtonPosInfo
  16. ' DateTime  : 2005-8-8 22:01
  17. ' Author    : Lingll
  18. ' Purpose   : 记录toolbar按钮信息,用作自定义toolbar按钮
  19. '---------------------------------------------------------------------------------------
  20. Option Explicit
  21. Public Description As String
  22. Public id As Long
  23. Public Pos As Long  '当前位置
  24. Public vis As Boolean '是否显示按钮
  25. Public o_Pos&       '原始位置
  26. Public Sub IniMe(vDesc$, vId&, vPos&)
  27. Description = vDesc
  28. id = vId
  29. vis = (vPos >= 0)
  30. If vis Then
  31.     Pos = vPos
  32. Else
  33.     Pos = Abs(vPos) - 1
  34. End If
  35. End Sub
  36. '---------------------------------------------------------------------------------------
  37. ' Procedure : GetSavePos
  38. ' DateTime  : 2005-8-9 01:07
  39. ' Author    : Lingll
  40. ' Purpose   :
  41. '---------------------------------------------------------------------------------------
  42. Public Function GetSavePos() As String
  43. If vis Then
  44.     GetSavePos = LTrim$(Str$(Pos))
  45. Else
  46.     GetSavePos = "-" & LTrim$(Str$(Pos + 1))
  47. End If
  48. End Function
  49. 'Public Sub CopyMe(vNew As cButtonPosInfo)
  50. 'Description = vNew.Description
  51. 'Id = vNew.Id
  52. 'o_Pos = vNew.o_Pos
  53. 'End Sub
  54. '
  55. '
  56. 'Public Sub Swap(vNew As cButtonPosInfo)
  57. 'Dim tDes$, tId&, to_Pos&
  58. 'tDes = vNew.Description
  59. 'tId = vNew.Id
  60. 'to_Pos = vNew.o_Pos
  61. '
  62. 'vNew.CopyMe Me
  63. '
  64. 'Description = tDes
  65. 'Id = tId
  66. 'o_Pos = to_Pos
  67. 'End Sub
  68. '---------------------------------------------------------------------------------------
  69. ' Procedure : SortByPos
  70. ' DateTime  : 2005-8-8 22:03
  71. ' Author    : Lingll
  72. ' Purpose   :
  73. '---------------------------------------------------------------------------------------
  74. Public Sub SortByPos(vObj() As cButtonPosInfo)
  75. Dim tLb&, tUb&, i&, j&
  76. Dim tObj As cButtonPosInfo
  77. tLb = LBound(vObj)
  78. tUb = UBound(vObj)
  79. For i = tUb To tLb + 1 Step -1
  80.     For j = tLb To i - 1
  81.         If vObj(j).Pos > vObj(j + 1).Pos Then
  82.             Set tObj = vObj(j)
  83.             Set vObj(j) = vObj(j + 1)
  84.             Set vObj(j + 1) = tObj
  85.             Set tObj = Nothing
  86.         End If
  87.     Next j
  88. Next i
  89. For i = tUb To tLb
  90.     vObj(i).Pos = i
  91. Next i
  92. End Sub
  93. '---------------------------------------------------------------------------------------
  94. ' Procedure : SortByOOPos
  95. ' DateTime  : 2005-8-8 22:03
  96. ' Author    : Lingll
  97. ' Purpose   :
  98. '---------------------------------------------------------------------------------------
  99. Public Sub SortByOOPos(vObj() As cButtonPosInfo)
  100. Dim tLb&, tUb&, i&, j&
  101. Dim tObj As cButtonPosInfo
  102. tLb = LBound(vObj)
  103. tUb = UBound(vObj)
  104. For i = tUb To tLb + 1 Step -1
  105.     For j = tLb To i - 1
  106.         If vObj(j).o_Pos > vObj(j + 1).o_Pos Then
  107.             Set tObj = vObj(j)
  108.             Set vObj(j) = vObj(j + 1)
  109.             Set vObj(j + 1) = tObj
  110.             Set tObj = Nothing
  111.         End If
  112.     Next j
  113. Next i
  114. For i = tUb To tLb
  115.     vObj(i).o_Pos = i
  116. Next i
  117. End Sub
  118. '---------------------------------------------------------------------------------------
  119. ' Procedure : SetToDefault
  120. ' DateTime  : 2005-8-9 23:04
  121. ' Author    : Lingll
  122. ' Purpose   :
  123. '---------------------------------------------------------------------------------------
  124. Public Sub SetToDefault(vObj() As cButtonPosInfo)
  125. Dim tLb&, tUb&, i&
  126. Call SortByOOPos(vObj)
  127. tLb = LBound(vObj)
  128. tUb = UBound(vObj)
  129. For i = tLb To tUb
  130.     vObj(i).vis = True
  131.     vObj(i).Pos = vObj(i).o_Pos
  132. Next i
  133. End Sub