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

浏览器

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmCmsToolbar 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "选择工具栏按钮"
  5.    ClientHeight    =   4065
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   4875
  9.    BeginProperty Font 
  10.       Name            =   "宋体"
  11.       Size            =   9
  12.       Charset         =   134
  13.       Weight          =   400
  14.       Underline       =   0   'False
  15.       Italic          =   0   'False
  16.       Strikethrough   =   0   'False
  17.    EndProperty
  18.    Icon            =   "frmCmsToolbar.frx":0000
  19.    LinkTopic       =   "Form1"
  20.    LockControls    =   -1  'True
  21.    MaxButton       =   0   'False
  22.    MinButton       =   0   'False
  23.    ScaleHeight     =   4065
  24.    ScaleWidth      =   4875
  25.    ShowInTaskbar   =   0   'False
  26.    StartUpPosition =   1  'CenterOwner
  27.    Begin VB.CommandButton cmdSetToDefault 
  28.       Caption         =   "默认值"
  29.       Height          =   330
  30.       Left            =   120
  31.       TabIndex        =   12
  32.       Top             =   3600
  33.       Width           =   900
  34.    End
  35.    Begin VB.CommandButton cmdCancel 
  36.       Cancel          =   -1  'True
  37.       Caption         =   "取消(&C)"
  38.       Height          =   360
  39.       Left            =   3900
  40.       TabIndex        =   5
  41.       Top             =   3600
  42.       Width           =   900
  43.    End
  44.    Begin VB.CommandButton cmdOk 
  45.       Caption         =   "确定(&O)"
  46.       Default         =   -1  'True
  47.       Height          =   360
  48.       Left            =   2880
  49.       TabIndex        =   4
  50.       Top             =   3600
  51.       Width           =   900
  52.    End
  53.    Begin VB.Frame Frame2 
  54.       Caption         =   "小工具栏"
  55.       Height          =   3375
  56.       Left            =   2460
  57.       TabIndex        =   2
  58.       Top             =   60
  59.       Width           =   2355
  60.       Begin VB.CommandButton cmdSep 
  61.          Caption         =   "分隔符"
  62.          Enabled         =   0   'False
  63.          Height          =   330
  64.          Index           =   1
  65.          Left            =   1560
  66.          TabIndex        =   11
  67.          Top             =   2940
  68.          Width           =   660
  69.       End
  70.       Begin VB.CommandButton cmdMoveDown 
  71.          Caption         =   "下移"
  72.          Height          =   330
  73.          Index           =   1
  74.          Left            =   840
  75.          TabIndex        =   10
  76.          Top             =   2940
  77.          Width           =   660
  78.       End
  79.       Begin VB.CommandButton cmdMoveUp 
  80.          Caption         =   "上移"
  81.          Height          =   330
  82.          Index           =   1
  83.          Left            =   120
  84.          TabIndex        =   9
  85.          Top             =   2940
  86.          Width           =   660
  87.       End
  88.       Begin VB.ListBox lstSmallTbr 
  89.          Height          =   2580
  90.          Left            =   120
  91.          Style           =   1  'Checkbox
  92.          TabIndex        =   3
  93.          Top             =   300
  94.          Width           =   2100
  95.       End
  96.    End
  97.    Begin VB.Frame Frame1 
  98.       Caption         =   "标准按钮栏"
  99.       Height          =   3375
  100.       Left            =   60
  101.       TabIndex        =   0
  102.       Top             =   60
  103.       Width           =   2355
  104.       Begin VB.CommandButton cmdSep 
  105.          Caption         =   "分隔符"
  106.          Enabled         =   0   'False
  107.          Height          =   330
  108.          Index           =   0
  109.          Left            =   1560
  110.          TabIndex        =   8
  111.          Top             =   2940
  112.          Width           =   660
  113.       End
  114.       Begin VB.CommandButton cmdMoveDown 
  115.          Caption         =   "下移"
  116.          Height          =   330
  117.          Index           =   0
  118.          Left            =   840
  119.          TabIndex        =   7
  120.          Top             =   2940
  121.          Width           =   660
  122.       End
  123.       Begin VB.CommandButton cmdMoveUp 
  124.          Caption         =   "上移"
  125.          Height          =   330
  126.          Index           =   0
  127.          Left            =   120
  128.          TabIndex        =   6
  129.          Top             =   2940
  130.          Width           =   660
  131.       End
  132.       Begin VB.ListBox lstMainTbr 
  133.          Height          =   2580
  134.          Left            =   120
  135.          Style           =   1  'Checkbox
  136.          TabIndex        =   1
  137.          Top             =   300
  138.          Width           =   2100
  139.       End
  140.    End
  141. End
  142. Attribute VB_Name = "frmCmsToolbar"
  143. Attribute VB_GlobalNameSpace = False
  144. Attribute VB_Creatable = False
  145. Attribute VB_PredeclaredId = True
  146. Attribute VB_Exposed = False
  147. '自定义Toolbar按钮
  148. Option Explicit
  149. Private mMainTbr As cToolBar
  150. Private mMainTbrPos() As cButtonPosInfo
  151. Private mSmallTbr As cToolBar
  152. Private mSmallTbrPos() As cButtonPosInfo
  153. Public Sub IniMe(nTbrMain As cToolBar, _
  154.         nTbrSmall As cToolBar)
  155. Set mMainTbr = nTbrMain
  156. mMainTbrPos = nTbrMain.p_colBff("desarr")
  157. Call SetListFromTbr(mMainTbr, lstMainTbr, mMainTbrPos)
  158. Set mSmallTbr = nTbrSmall
  159. mSmallTbrPos = nTbrSmall.p_colBff("desarr")
  160. Call SetListFromTbr(mSmallTbr, lstSmallTbr, mSmallTbrPos)
  161. End Sub
  162. Private Sub cmdCancel_Click()
  163. Unload Me
  164. End Sub
  165. Private Sub SetListFromTbr(nTbr As cToolBar, _
  166.         nLst As VB.ListBox, vArr() As cButtonPosInfo)
  167. On Error Resume Next
  168. Dim i&, tcnt&
  169. nLst.Clear
  170. 'vArr = nTbr.p_colBff("desarr")
  171. tcnt = nTbr.ButtonCount
  172. For i = 0 To tcnt - 1
  173.     nLst.AddItem vArr(i).Description
  174.     nLst.Selected(i) = vArr(i).vis '  ((nTbr.GetButtonState(nTbr.GetButton(i, False)) And TBSTATE_HIDDEN) = 0)
  175. Next i
  176. nLst.ListIndex = -1
  177. End Sub
  178. Private Sub SetTbrButton(nTbr As cToolBar, _
  179.         nLst As VB.ListBox, nArr() As cButtonPosInfo)
  180. On Error Resume Next
  181. Dim i&, tUb&
  182. tUb = UBound(nArr)
  183. For i = 0 To tUb
  184.     nArr(i).Pos = i
  185.     nTbr.MoveButton nTbr.GetButton(nArr(i).id, True), i
  186.     nArr(i).vis = nLst.Selected(i)
  187.     nTbr.ShowButton nArr(i).id, nArr(i).vis
  188. Next i
  189. nTbr.p_colBff.Remove "desarr"
  190. nTbr.p_colBff.Add nArr, "desarr"
  191. 'tcnt = nLst.ListCount
  192. 'For i = 0 To tcnt - 1
  193. '    nTbr.ShowButton nTbr.GetButton(i, False), nLst.Selected(i)
  194. '    If nLst.Selected(i) Then
  195. '        nArr(i) = 1
  196. '    Else
  197. '        nArr(i) = 0
  198. '    End If
  199. 'Next i
  200. 'On Error Resume Next
  201. 'Dim i&
  202. 'For i = 1 To nLst.ListCount
  203. '    nTbr.Buttons(i).Visible = nLst.Selected(i - 1)
  204. '    If nLst.Selected(i - 1) Then
  205. '        nArr(i - 1) = 1
  206. '    Else
  207. '        nArr(i - 1) = 0
  208. '    End If
  209. 'Next i
  210. End Sub
  211. '---------------------------------------------------------------------------------------
  212. ' Procedure : MoveDown
  213. ' DateTime  : 2005-8-9 22:23
  214. ' Author    : Lingll
  215. ' Purpose   : 移动list item
  216. '---------------------------------------------------------------------------------------
  217. Private Sub MoveDown(vLst As ListBox, vArr() As cButtonPosInfo)
  218. On Error Resume Next
  219. Dim tObj As cButtonPosInfo
  220. Dim tIndex&, i&
  221. tIndex = vLst.ListIndex
  222. If tIndex >= 0 And tIndex < vLst.ListCount - 1 Then
  223.     SwapObj vArr(tIndex), vArr(tIndex + 1)
  224.     SwapListItem vLst, tIndex, tIndex + 1
  225. End If
  226. End Sub
  227. '---------------------------------------------------------------------------------------
  228. ' Procedure : MoveUp
  229. ' DateTime  : 2005-8-9 22:28
  230. ' Author    : Lingll
  231. ' Purpose   :
  232. '---------------------------------------------------------------------------------------
  233. Private Sub MoveUp(vLst As ListBox, vArr() As cButtonPosInfo)
  234. On Error Resume Next
  235. Dim tObj As cButtonPosInfo
  236. Dim tIndex&, i&
  237. tIndex = vLst.ListIndex
  238. If tIndex > 0 And tIndex < vLst.ListCount Then
  239.     SwapObj vArr(tIndex), vArr(tIndex - 1)
  240.     SwapListItem vLst, tIndex, tIndex - 1
  241. End If
  242. End Sub
  243. Private Sub cmdMoveDown_Click(index As Integer)
  244. Select Case index
  245.     Case 0
  246.         Call MoveDown(lstMainTbr, mMainTbrPos)
  247.     Case 1
  248.         Call MoveDown(lstSmallTbr, mSmallTbrPos)
  249. End Select
  250. End Sub
  251. Private Sub cmdMoveUp_Click(index As Integer)
  252. Select Case index
  253.     Case 0
  254.         Call MoveUp(lstMainTbr, mMainTbrPos)
  255.     Case 1
  256.         Call MoveUp(lstSmallTbr, mSmallTbrPos)
  257. End Select
  258. End Sub
  259. Private Sub cmdOk_Click()
  260. Call SetTbrButton(mMainTbr, lstMainTbr, mMainTbrPos)
  261. Call SetTbrButton(mSmallTbr, lstSmallTbr, mSmallTbrPos)
  262. gMainForm.ResizeTbr
  263. Unload Me
  264. End Sub
  265. '---------------------------------------------------------------------------------------
  266. ' Procedure : SwapObj
  267. ' DateTime  : 2005-8-9 22:28
  268. ' Author    : Lingll
  269. ' Purpose   :
  270. '---------------------------------------------------------------------------------------
  271. Private Sub SwapObj(obj1 As Object, obj2 As Object)
  272. Dim tObj As Object
  273. Set tObj = obj1
  274. Set obj1 = obj2
  275. Set obj2 = tObj
  276. Set tObj = Nothing
  277. End Sub
  278. '---------------------------------------------------------------------------------------
  279. ' Procedure : SwapListItem
  280. ' DateTime  : 2005-8-9 22:46
  281. ' Author    : Lingll
  282. ' Purpose   :
  283. '---------------------------------------------------------------------------------------
  284. Private Sub SwapListItem(vLst As ListBox, i1&, i2&)
  285. On Error Resume Next
  286. Dim tStr$, tSel As Boolean
  287. tStr = vLst.List(i1)
  288. tSel = vLst.Selected(i1)
  289. vLst.List(i1) = vLst.List(i2)
  290. vLst.Selected(i1) = vLst.Selected(i2)
  291. vLst.List(i2) = tStr
  292. vLst.Selected(i2) = tSel
  293. End Sub
  294. Private Sub cmdSetToDefault_Click()
  295. Dim tObj As New cButtonPosInfo
  296. tObj.SetToDefault mMainTbrPos
  297. tObj.SetToDefault mSmallTbrPos
  298. Call SetListFromTbr(mMainTbr, lstMainTbr, mMainTbrPos)
  299. Call SetListFromTbr(mSmallTbr, lstSmallTbr, mSmallTbrPos)
  300. End Sub