?? frmreport.frm
字號:
frmOrganTipList.Show , frmMain
Case Else
End Select
End If
Case "cboClinic"
'彈出臨床診斷窗體
frmClinicDetail.WorkType = "Select"
frmClinicDetail.Show vbModal
Case "txtDescribe"
'彈出圖象描述窗體
' txtDescribe_DblClick
'此處改為彈出語句選擇窗體
If USV.AllowOrganTemplate Then frmOrganIllList.Show , frmMain
'如果該版本未賦予此權限,則退出過程
Case "txtSickNo", "txtSickName"
'彈出病人登記窗體
frmSickSearch.Show vbModal
Case Else
ComboName = GetComboName(Me.ActiveControl)
If ComboName <> vbNullString Then
PopItemDetail Me.ActiveControl, ComboName
End If
End Select
Case US_KEY_POPORGANTEMP
'如果是彈出"器官模板",則相應彈出該模板
If (Me.ActiveControl = cboOrganName Or Me.ActiveControl = txtDescribe) And USV.AllowOrganTemplate Then
' modCommon.PopOrganTemp (cboOrganName.Text)
Screen.MousePointer = vbHourglass
modCommon.PopOrganTemp (modCommon.OrganModelNameChosen)
Screen.MousePointer = vbNormal
End If
Case US_KEY_NEWREPORT
'如果是新建報告,則
frmMain.NewReport
Case US_KEY_SAVEREPORT
'如果是保存報告,則
frmMain.SaveReport
Case US_KEY_CANCELREPORT, US_KEY_CANCEL
'如果取消報告
Dim Ret
If Me.Saved = False Then
'Ret = MsgBox("這將取消當前的報告, 確定嗎?", vbYesNo + vbQuestion, "提示")
'If Ret = vbNo Then
' Exit Sub
'End If
frmMain.CancelReport
End If
Case US_KEY_PRINT
'打印
Call frmMain.atBarMain_ToolClick(frmMain.atBarMain.Tools("ID_FilePrint"))
Case US_KEY_PRINTPREVIEW
'打印預覽
Call frmMain.atBarMain_ToolClick(frmMain.atBarMain.Tools("ID_FileHTML"))
Case Else
End Select
Exit Sub
ErrHandle:
End Sub
Private Sub Form_Load()
On Error Resume Next
'根據用戶類型的不同決定控件是否可以使用
Select Case Me.WorkType
Case "Add"
Case "Edit"
Case "Browse"
'所有的控件都禁止,對于系統管理員和超級管理員,允許“編輯報告選項”。
Dim ctl As Control
' If UserType <> "系統管理員" And UserType <> "超級管理員" Then
DisableEdit
' End If
'先禁止“保存菜單”
frmMain.atBarMain.Tools("ID_USSave").Enabled = False
End Select
'設置一些初試值
Loading = True
FoundSick = False
Set rsUSSick = OpenRSClient("SELECT * FROM SICK_INFO", "Data")
'填充下拉列表
SetComboItems
'顯示提示信息
If USV.AllowOrganTemplate Then
ShowInfo "[F2]新報告 [F3]保存 [F4]下拉 [F5]代碼 [F6]模板 [F7]打印 [F8]預覽 [F9]病例 [ESC]=取消"
Else
ShowInfo "[F2]新報告 [F3]保存 [F4]下拉 [F5]代碼 [F7]打印 [F8]預覽 [ESC]=取消"
End If
'獲得新超聲序號
If Me.WorkType = "Add" And (IniUS.GetString("Report", "UserInputUSNO", 0) = 0) Then
txtUSNo.Text = NewUSNo(cboUSStyle.Text)
End If
'設置主窗體菜單
With frmMain.atBarMain
.Tools("ID_FileHTML").Enabled = True
.Tools("ID_USViewImage").Enabled = True
.Tools("ID_USViewVideo").Enabled = True
.Tools("ID_SysPackDB").Enabled = False
.Tools("ID_SysBackup").Enabled = False
End With
'判斷是否允許用戶編輯超聲號
If IniUS.GetString("Report", "AllowEditUSNO", 0) Then
txtUSNo.Locked = False
txtUSNo.TabStop = True
txtUSNo.BackColor = vbWhite
End If
'設置狀態
Loaded = True
Saved = False
Loading = False
modCommon.OrganModelNameChosen = ""
modCommon.OrganModelNameChosenStr = ""
End Sub
Private Sub SetComboItems()
'-------------------------------------------------------
'從REPORT_ITEM_CLASS和REPORT_ITEM_DETAIL中填充下拉列表
'-------------------------------------------------------
Dim ctl As Control
Dim cbo As ComboBox
Dim ComboName As String
Dim strSQL As String
Dim rsTemp As New ADODB.Recordset
'判斷每個控件的下拉屬性
For Each ctl In Me.Controls
If TypeOf ctl Is ComboBox Then
Set cbo = ctl
ComboName = GetComboName(ctl)
If ComboName <> vbNullString Then
'獲取記錄集
strSQL = "SELECT * FROM US_REPORT_ITEM_CLASS WHERE CLASS_NAME = '" & ComboName & "'"
Set rsTemp = OpenRSClient(strSQL)
'如果記錄數不為0,則
If rsTemp.RecordCount > 0 Then
'如果該控件允許使用預定義的下拉值,則:
cbo.Clear
If rsTemp!ADJUST_FREQUENCY Then
strSQL = "SELECT ITEMDATA FROM US_REPORT_ITEM_DETAIL WHERE CLASS_NAME = '" & ComboName & "' ORDER BY FREQUENCY DESC, ITEMINDEX"
Else
strSQL = "SELECT ITEMDATA FROM US_REPORT_ITEM_DETAIL WHERE CLASS_NAME = '" & ComboName & "' ORDER BY ITEMINDEX"
End If
If rsTemp.State = adStateOpen Then rsTemp.Close
rsTemp.Open strSQL, ConnUS
With rsTemp
Do While Not .EOF
cbo.AddItem rsTemp!ItemData & vbNullString
.MoveNext
Loop
End With
Select Case Me.WorkType
Case "Add"
cbo.Text = FindValue("SELECT DEFAULT_VALUE FROM US_REPORT_ITEM_CLASS WHERE CLASS_NAME = '" & ComboName & "'")
Case "Browse"
End Select
End If
End If
End If
DoEvents
Next ctl
'填充部位Combo
Set rsTemp = OpenRSClient("SELECT COMB_NAME FROM US_ORGAN_COMB ORDER BY COMB_FREQUENCY DESC")
With rsTemp
cboOrganName.Clear
Do While Not .EOF
cboOrganName.AddItem rsTemp!COMB_NAME
.MoveNext
Loop
End With
'填充臨床診斷框
Set rsTemp = OpenRSClient("SELECT CLINIC FROM US_CLINIC_DETAIL ORDER BY FREQUENCY DESC, CLINIC")
With rsTemp
cboClinic.Clear
Do While Not .EOF
cboClinic.AddItem rsTemp!CLINIC
.MoveNext
Loop
End With
'釋放對象
Set rsTemp = Nothing
Set cbo = Nothing
Set ctl = Nothing
End Sub
Private Function GetComboName(ctl As Control)
'-----------------------------------------
'根據控件的名稱,返回控件對應的下拉項目名稱
'-----------------------------------------
Select Case ctl.Name
Case "cboSickType"
GetComboName = "病人類型"
Case "cboSickSex"
GetComboName = "病人性別"
Case "cboWard"
GetComboName = "所在病區"
Case "cboBelongSec"
GetComboName = "所屬科室"
Case "cboSickClass"
GetComboName = "病人分類"
Case "cboUSStyle"
GetComboName = "超聲類型"
Case "cboDDoctor"
GetComboName = "診斷醫師"
Case "cboHospital"
GetComboName = "送檢醫院"
Case "cboSDoctor"
GetComboName = "送檢醫師"
Case "cboSSection"
GetComboName = "送檢科室"
Case "cboRecDoctor"
GetComboName = "記錄者"
Case "cboImageQuality"
GetComboName = "圖像質量"
Case "cboAgeUnit"
GetComboName = "年齡單位"
Case "cboINS_FRE"
GetComboName = "儀器頻率"
Case Else
GetComboName = vbNullString
End Select
End Function
'
'Private Function PopOrganTemp(OrganName As String)
'
' '------------------------------------
' '彈出對應該器官組合的模板窗體
' '------------------------------------
'
' Dim strSQL As String
' Dim strTempName As String
' Dim strTempList() As String
' Dim strCombList() As String
' Dim rsTemp As ADODB.Recordset
' Dim i As Integer
'
' strSQL = "SELECT COMB_NAME, COMB_STRING, TEMP_NAME FROM US_ORGAN_COMB WHERE COMB_NAME = '" & OrganName & "'"
' Set rsTemp = OpenRSClient(strSQL)
'
' If rsTemp.EOF Then
' '警告沒有對應的模板
' MsgBox "抱歉, 未發現相對應的模板, 請直接在 [圖象描述] 和 [超聲提示] 中輸入檢查結果! ", vbOKOnly + vbInformation, "提示"
' Exit Function
'
' Else
' strTempList() = Split(rsTemp!TEMP_NAME, US_STR_TEMPSPLIT)
' strCombList() = Split(rsTemp!COMB_STRING, US_STR_TEMPSPLIT)
'
' '依次彈出器官模板
' For i = 0 To UBound(strTempList())
'
' strTempName = strTempList(i)
' gstrCombString = strCombList(i)
'
' Screen.MousePointer = vbHourglass
'
' '根據模板的名稱決定彈出的窗體名
' Select Case strTempName
'
' Case "肝膽胰脾后腹膜"
' frmTempL_GB_P_S_BP.Show vbModal
'
' Case "眼睛"
' frmTempEyes.Show vbModal
'
' Case "透環"
' frmTempRing.Show vbModal
'
' Case "雙腎雙腎上腺"
' frmTempK_A.Show vbModal
'
' Case "雙腎穿刺定位"
' frmTempKidneysPuncture.Show vbModal
'
' Case "乳腺探測"
' frmTempMammaryGland.Show vbModal
'
' Case "甲狀腺"
' frmTempThyroidGland.Show vbModal
'
' Case "椎動脈"
' frmTempArteriaVertebralis.Show vbModal
'
' Case "子宮附件"
' frmTempWombAdnexa.Show vbModal
'
' Case "產科"
' frmTempFoetus.Show vbModal
'
' Case "胸腔探測"
' frmTempThorax.Show vbModal
'
' Case "移植腎"
' frmTempKidneysTransplant.Show vbModal
'
' Case "下肢靜脈"
' frmTempLowerLimbVein.Show vbModal
'
' Case "陰囊"
' frmTempScrotum.Show vbModal
'
' Case "心臟"
'' frmTempHeartValue.Show vbModal
'' frmTempHeartDescribe.Show vbModal
' frmTempHeart.Show vbModal
'
' Case "下肢動脈"
' frmTempLowerLimbArtery.Show vbModal
'
' Case "頸動脈"
' frmTempNeckArtery.Show vbModal
'
' Case "雙腎輸尿管膀胱前列腺"
' frmTempK_U_B_P.Show vbModal
'
' Case "卵泡檢測"
' frmTempOvary.txtODiagDay.Text = Date
' frmTempOvary.Show vbModal
'
' Case "腫塊"
' frmTempTumour.Show vbModal
'
' Case "腮腺"
' frmTempParotid.Show vbModal
'
' Case "肝穿刺"
' frmTempLiverPuncture.Show vbModal
'
' Case "胃"
' frmTempStomach.Show vbModal
'
' Case "頜下腺"
' frmTempJaw.Show vbModal
'
' Case "半月板"
' frmTempMeniscus.Show vbModal
'
' Case "闌尾"
' frmTempAppendix.Show vbModal
'
' Case "經顱"
' frmTempBySkull.Show vbModal
'
' Case "胸腔心包腹腔"
' frmTempChest_HeartP_Abdomen.Show vbModal
'
' Case Else
' Screen.MousePointer = vbNormal
' MsgBox "抱歉, 未發現相對應的模板, 請直接在 [圖象描述] 和 [超聲提示] 中輸入檢查結果! ", vbOKOnly + vbInformation, "提示"
'
' End Select
' Next i
' End If
'
'End Function
Private Sub Form_Resize()
On Error Resume Next
'如果是最小化,則退出
If Me.WindowState = vbMinimized Or frmMain.WindowState = vbMinimized Then Exit Sub
'如果不滿足最小條件,則使其符合
If Me.width < MIN_WIDTH Then Me.width = MIN_WIDTH
If Me.height < MIN_HEIGHT Then Me.height = MIN_HEIGHT
'設置控件尺寸
'橫向
Frame1.width = Me.width - Frame1.Left - RIGHT_MARGIN + 345
Frame2.width = Me.width - Frame2.Left - RIGHT_MARGIN + 345
cboSickClass.width = Me.width - cboSickClass.Left - RIGHT_MARGIN
txtSickBirth.width = Me.width - txtSickBirth.Left - RIGHT_MARGIN
txtUnit.width = Me.width - txtUnit.Left - RIGHT_MARGIN
txtFamily.width = Me.width - txtFamily.Left - RIGHT_MARGIN
cboINS_FRE.width = Me.width - cboINS_FRE.Left - RIGHT_MARGIN
cboSSection.width = Me.width - cboSSection.Left - RIGHT_MARGIN
txtREC_NO.width = Me.width - txtREC_NO.Left - RIGHT_MARGIN
cboImageQuality.width = Me.width - cboImageQuality.Left - RIGHT_MARGIN
txtDescribe.width = Me.width - txtDescribe.Left - RIGHT_MARGIN
'限制超聲描述的最大行寬
' txtDescribe.width = IIf(txtDescribe.width > 8000, 8000, txtDescribe.width)
txtUSTip(1).width = Me.width - txtUSTip(1).Left - RIGHT_MARGIN
txtUSTip(3).width = Me.width - txtUSTip(3).Left - RIGHT_MARGIN
txtUSTip(5).width = Me.width - txtUSTip(1).Left - RIGHT_MARGIN
txtUSTip(7).width = Me.width - txtUSTip(3).Left - RIGHT_MARGIN
'縱向,其中iH為一個行的高度,TextBase是文本框的基數;LableBase是標簽的基數。
Dim iH As Long, TextBase As Long, LableBase As Long
iH = 390
TextBase = 795
LableBase = 735
lblUSTip(0).Top = Me.height - LableBase - iH * 3
lblUSTip(1).Top = Me.height - LableBase - iH * 3
lblUSTip(2).Top = Me.height - LableBase - iH * 2
lblUSTip(3).Top = Me.height - LableBase - iH * 2
lblUSTip(4).Top = Me.height - LableBase - iH
lblUSTip(5).Top = Me.height - LableBase - iH
lblUSTip(6).Top = Me.height - LableBase
lblUSTip(7).Top = Me.height - LableBase
txtUSTip(0).Top = Me.height - TextBase - iH * 3
txtUSTip(1).Top = Me.height - TextBase - iH * 3
txtUSTip(2).Top = Me.height - TextBase - iH * 2
txtUSTip(3).Top = Me.height - TextBase - iH * 2
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -