上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:4k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
  3. Begin VB.Form Hp_Dept_Frm 
  4.    AutoRedraw      =   -1  'True
  5.    BorderStyle     =   1  'Fixed Single
  6.    Caption         =   "部门选择"
  7.    ClientHeight    =   5520
  8.    ClientLeft      =   45
  9.    ClientTop       =   330
  10.    ClientWidth     =   4275
  11.    Icon            =   "帮助_部门帮助.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   5520
  16.    ScaleWidth      =   4275
  17.    StartUpPosition =   1  '所有者中心
  18.    Begin VB.CommandButton Cmd_Cancel 
  19.       Cancel          =   -1  'True
  20.       Caption         =   "取消(&C)"
  21.       Height          =   300
  22.       Left            =   3075
  23.       TabIndex        =   4
  24.       Top             =   5145
  25.       Width           =   1120
  26.    End
  27.    Begin VB.CommandButton Cmd_OK 
  28.       Caption         =   "确定(&O)"
  29.       Default         =   -1  'True
  30.       Height          =   300
  31.       Left            =   1890
  32.       TabIndex        =   3
  33.       Top             =   5145
  34.       Width           =   1120
  35.    End
  36.    Begin MSComctlLib.TreeView TV_Dept 
  37.       Height          =   4500
  38.       Left            =   45
  39.       TabIndex        =   2
  40.       Top             =   540
  41.       Width           =   4170
  42.       _ExtentX        =   7355
  43.       _ExtentY        =   7938
  44.       _Version        =   393217
  45.       HideSelection   =   0   'False
  46.       Style           =   7
  47.       Appearance      =   1
  48.    End
  49.    Begin VB.TextBox Txt_Dept 
  50.       Height          =   315
  51.       Left            =   525
  52.       TabIndex        =   1
  53.       Top             =   120
  54.       Width           =   3690
  55.    End
  56.    Begin VB.Label Lab_Mark 
  57.       AutoSize        =   -1  'True
  58.       Caption         =   "部门:"
  59.       Height          =   180
  60.       Index           =   3
  61.       Left            =   60
  62.       TabIndex        =   0
  63.       Top             =   195
  64.       Width           =   450
  65.    End
  66. End
  67. Attribute VB_Name = "Hp_Dept_Frm"
  68. Attribute VB_GlobalNameSpace = False
  69. Attribute VB_Creatable = False
  70. Attribute VB_PredeclaredId = True
  71. Attribute VB_Exposed = False
  72. '************************************************************************
  73. '*    功 能 描 述 :按树状结构显示部门,根据参数确定是否可选非末级部门
  74. '*    程序员姓名  :苗  鹏
  75. '*    最后修改人  :苗  鹏
  76. '*    最后修改时间:2002/01/03
  77. '*    备        注:程序中所有依实际情况自定义部分均用[>> <<]括起
  78. '*********************************************************************
  79. Option Explicit
  80. Public bMinLvl As Boolean
  81. Public sDept As String
  82. Public sDeptName As String
  83. Private Sub Cmd_Cancel_Click()
  84.     sDept = ""
  85.     Unload Me
  86. End Sub
  87. Private Sub Cmd_OK_Click()
  88.     '选择部门
  89.     With Me.TV_Dept
  90.         If Not .SelectedItem Is Nothing Then
  91.             If Me.bMinLvl = True Then
  92.                 If .SelectedItem.Children <> 0 Then
  93.                     MsgBox "请选择末级部门!", vbOKOnly + vbCritical
  94.                     Exit Sub
  95.                 Else
  96.                     sDept = .SelectedItem.Tag
  97.                     sDeptName = .SelectedItem.Text
  98.                 End If
  99.             End If
  100.         Else
  101.             sDept = ""
  102.         End If
  103.     End With
  104.     Unload Me
  105. End Sub
  106. Private Sub Form_Load()
  107.     On Error GoTo ErrCtrl
  108.         
  109.     '初始化部门树
  110.     FillDept2TV "RsPmFlag", Me.TV_Dept, Cw_DataEnvi.DataConnect
  111.     Exit Sub
  112. ErrCtrl:
  113.     Unload Me
  114. End Sub
  115. Private Sub TV_Dept_BeforeLabelEdit(Cancel As Integer)
  116.     Cancel = 1
  117. End Sub
  118. Private Sub TV_Dept_NodeCheck(ByVal Node As MSComctlLib.Node)
  119.     '点击节点
  120.     Dim i As Integer
  121.     With Me.TV_Dept
  122.         For i = 1 To .Nodes.count
  123.             If .Nodes(i).Parent Is Node Then
  124.                 .Nodes(i).Checked = Node.Checked
  125.                 Call TV_Dept_NodeCheck(.Nodes(i))
  126.             End If
  127.         Next i
  128.     End With
  129. End Sub
  130. Private Sub Txt_Dept_Change()
  131.     '通过文本框选择节点
  132.     Dim i As Integer
  133.     Dim s As String
  134.     s = Trim(Me.Txt_Dept.Text)
  135.     With Me.TV_Dept
  136.         For i = 1 To .Nodes.count
  137.             If .Nodes(i).Tag = s Then
  138.                 .Nodes(i).EnsureVisible
  139.                 .SelectedItem = .Nodes(i)
  140.                 Exit Sub
  141.             End If
  142.         Next i
  143.     End With
  144. End Sub