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

📄 selectpart.frm

📁 内窥镜图案工作站有说明 有文档 有应用程序
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form SelectPartForm 
   BackColor       =   &H00C0C000&
   BorderStyle     =   1  'Fixed Single
   Caption         =   "检查部位选择"
   ClientHeight    =   5265
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   9510
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5265
   ScaleWidth      =   9510
   StartUpPosition =   2  '屏幕中心
   Begin MSComctlLib.ListView ListVSelPart 
      Height          =   4215
      Left            =   120
      TabIndex        =   0
      TabStop         =   0   'False
      Top             =   120
      Width           =   9255
      _ExtentX        =   16325
      _ExtentY        =   7435
      View            =   2
      Arrange         =   1
      LabelWrap       =   0   'False
      HideSelection   =   -1  'True
      Checkboxes      =   -1  'True
      _Version        =   393217
      ForeColor       =   -2147483640
      BackColor       =   14737632
      BorderStyle     =   1
      Appearance      =   1
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      NumItems        =   1
      BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} 
         Object.Width           =   2540
      EndProperty
   End
   Begin VB.CommandButton CmdInSelPart 
      Caption         =   "清   空"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Index           =   1
      Left            =   5160
      TabIndex        =   2
      Top             =   4560
      Width           =   1935
   End
   Begin VB.CommandButton CmdInSelPart 
      Caption         =   "确   定"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   12
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Index           =   0
      Left            =   2400
      TabIndex        =   1
      Top             =   4560
      Width           =   1935
   End
End
Attribute VB_Name = "SelectPartForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

'选择诊断部位界面,具体做法与选择临床诊断信息界面类似:
'    1. 当主窗体点击选择部位按钮时,打开选择诊断部位界面.在该界面初始化时,将完成两个任务:(1).打开数据库中的检查部位表,通过
'       SQL语句提取部位名称字段的所有记录,并按照显示顺序排列.(2).根据提取出来的记录集,将记录一条一条的添加到列表视图中.
'    2. 当窗体初始化完毕后,针对列表视图的一些问题,要做相关处理.问题一:有时候在窗体初始化完毕后或是列表视图获得焦点时,列表
'       视图会默认选中第一项,因此处理方法为在列表视图获得焦点时,要将第一项取消选中.问题二:列表视图中的各个待选项如果处于
'       选中状态,那么再点击一次该待选项或是点击窗体其它位置就可以对待选项进行修改,因此处理方法为在点击待选项或者点击窗体
'       其它位置时,取消对待选项的选中状态.
'    3. 在选择诊断部位时候,要判断待选项的复选框是否是选中状态,然后再做相应调整.在点击待选项之后还要取消待选项的选中状态.
'    4. 点击确定按钮时,需要做两件事情:(1).将所有待选项的复选框处于选中状态的诊断部位字符串连接起来,各个诊断部位之间用分号
'       隔开.最后去除掉最后一个分号.(2).对应所选择的检查部位,在检查部位表中一个一个的查找,找到对应该检查部位的正常报告结
'       点,然后调用过程,再在诊断知识库中查找对应该结点的正常报告,然后将正常报告记录集的检查所见和检查提示加载到主窗体诊断
'       编辑模块的检查所见和检查提示文本框中.
'    5. 当点击清空按钮时,取消所有复选框的选中状态.

Private Sub Form_Load()

    Dim RecSelectPart As ADODB.Recordset    '提取检查部位表中的部位名称记录集
    Dim strSQL As String    '存储SQL语句
    Dim k As Integer
    
    SelectPartName = ""    '初始化检查部位变量
    
    Set RecSelectPart = New ADODB.Recordset    '检查部位表记录集
    strSQL = "SELECT 部位名称 FROM 检查部位表 ORDER BY 显示顺序"
    RecSelectPart.CursorLocation = adUseClient
    RecSelectPart.Open strSQL, PACSDataConn, adOpenDynamic, adLockOptimistic, adCmdText
    
    ListVSelPart.ListItems.Clear    '清空列表视图中的所有项
    Do While Not RecSelectPart.EOF    '将记录集中的所有部位添加到列表视图中
        ListVSelPart.ListItems.Add , , RecSelectPart("部位名称")
        RecSelectPart.MoveNext
    Loop
    ListVSelPart.Refresh    '刷新列表视图
    RecSelectPart.Close    '关闭记录集

End Sub

Private Sub ListVSelPart_GotFocus()    'ListView获得焦点时,第一项如果默认选中,那么取消选择

    If ListVSelPart.ListItems.Count > 0 Then    '判断列表视图中是否加载了数据,如果加载做相应处理
        If ListVSelPart.ListItems(1).Selected Then ListVSelPart.ListItems(1).Selected = False
    End If

End Sub

Private Sub ListVSelPart_Click()    '点击ListView的其它地方,目的:防止修改所列项目

    Dim I As Integer

    For I = 1 To ListVSelPart.ListItems.Count
        If ListVSelPart.ListItems(I).Selected Then ListVSelPart.ListItems(I).Selected = False
    Next I

End Sub

Private Sub ListVSelPart_ItemClick(ByVal Item As MSComctlLib.ListItem)    '选择一条项目

    If Item.Checked = False Then Item.Checked = True Else Item.Checked = False
    Item.Selected = False

End Sub

Private Sub CmdInSelPart_Click(Index As Integer)    '本窗体存在两个按钮,确定按钮和清空按钮

    Select Case Index
    
        Case 0    '确定按钮
        
            Dim SelectPartName As String    '用来保存选中的检查部位
            Dim I As Integer
            
            For I = 1 To ListVSelPart.ListItems.Count    '将选中的检查部位组合成字符串
                If ListVSelPart.ListItems(I).Checked Then    '在选中检查部位之后,将诊断知识库中对应检查部位的正常报告填写
                                                             '到主窗体诊断编辑的检查所见文本框和检查提示文本框中
                    Dim RecSelectPart As ADODB.Recordset    '根据选中的检查部位,到检查部位表中查找对应的正常报告结点
                    Dim strSQL As String    '存储SQL语句
                    Dim strNode As String    '存储正常结点字符串
                    Dim SecNode As String    '如果选中[胆囊、胆管]则存在两个正常结点,此变量存储第二个结点
                    
                    Set RecSelectPart = New ADODB.Recordset    '查找检查部位表,得到检查部位记录集
                    strSQL = "SELECT * FROM 检查部位表 WHERE 部位名称 = '" & ListVSelPart.ListItems(I).Text & "'"
                    RecSelectPart.CursorLocation = adUseClient
                    RecSelectPart.Open strSQL, PACSDataConn, adOpenDynamic, adLockOptimistic, adCmdText
                    strNode = Trim("" & RecSelectPart.Fields("正常报告结点").Value)    '获得记录集中的正常报告结点值
                    
                    If Len(strNode) <= 6 Then    '如果只有一个结点,也就是没有选中[胆囊、胆管]的情况
                        strNode = Mid(strNode, 2, 4)    '由于结点数被括号括着,于是要做字符串处理,选取中间的4个
                        AddDiagHintText (Val(strNode))    '调用过程加载对应检查部位的正常报告
                    End If
                    If Len(strNode) > 6 Then    '如果选中了[胆囊、胆管]
                        SecNode = Mid(strNode, 2, 4)    '先取出一个结点
                        AddDiagHintText (Val(SecNode))    '调用过程加载对应检查部位的正常报告
                        strNode = Mid(strNode, 8, 4)    '再取出一个结点
                        AddDiagHintText (Val(strNode))    '再次调用过程加载对应检查部位的正常报告
                    End If
                    
                    SelectPartName = SelectPartName & ListVSelPart.ListItems(I).Text & ";"     '组合字符串,为了显示在新建
                                                                                               '病人列表的检查部位文本框中
                End If
            Next I
            
            I = Len(SelectPartName)    '查看检查部位字符串是否为空,不为空则去掉最后一个分号
            If I > 0 Then MainForm.TextBoxIn1(3).Text = left(SelectPartName, (I - 1))
            
            Unload Me    '任务完成,卸载窗体
            
        Case 1    '清空按钮
        
            Dim k As Integer
            
            For k = 1 To ListVSelPart.ListItems.Count    '将所有检查部位取消选择
                ListVSelPart.ListItems(k).Checked = False
            Next k
        
    End Select

End Sub

Private Sub AddDiagHintText(NodeID As Integer)    '得到正常报告的结点

    Dim RecSelPInDiag As ADODB.Recordset    '查询诊断知识库所用的记录集
    Dim strSQL As String    '存储SQL语句
    Dim I As Integer
                    
    Set RecSelPInDiag = New ADODB.Recordset    '查询出正常报告子结点的超声所见和超声提示
    strSQL = "SELECT * FROM 知识库表 WHERE 父结点标识 = " & NodeID & ""
    RecSelPInDiag.CursorLocation = adUseClient
    RecSelPInDiag.Open strSQL, DiagnoseRepositoryConn, adOpenDynamic, adLockOptimistic, adCmdText
    
                    
    RecSelPInDiag.MoveFirst    '将超声所见和超声提示加载到主窗体(MainForm)中诊断编辑模块中的相应文本框中
    For I = 1 To RecSelPInDiag.RecordCount
        If RecSelPInDiag.Fields("结点标志").Value = "1" Then    '1表示检查所见
            MainForm.RichTBIn5DiagText(0).Text = MainForm.RichTBIn5DiagText(0).Text & RecSelPInDiag.Fields("结点描述") & vbCrLf
        End If
        If RecSelPInDiag.Fields("结点标志").Value = "2" Then    '2表示检查提示
            MainForm.RichTBIn5DiagText(1).Text = MainForm.RichTBIn5DiagText(1).Text & RecSelPInDiag.Fields("结点描述") & vbCrLf
        End If
        RecSelPInDiag.MoveNext    '向下移动记录集,一般来说,搜寻到的记录集有两个,一个是检查所见,一个是检查提示
    Next I

End Sub

⌨️ 快捷键说明

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