Imports iMESMainMenu Imports Infragistics.Win Imports Infragistics.Win.UltraWinToolbars Public Class MDI_Panel Inherits System.Windows.Forms.Form '//Data Dim dsData As New DataSet Dim ModuleNo As String Dim strUserPriv As String '//其他共用變數 Dim i As Integer Dim blnShow As Boolean Dim imlMDI As New ImageList '// MainMenu & ToolBar變數 Dim utbMDI As Infragistics.Win.UltraWinToolbars.UltraToolbar = New UltraToolbar("ToolBar") Dim utbMDIMenu As Infragistics.Win.UltraWinToolbars.UltraToolbar = New UltraToolbar("MainMenu") Dim OptionSet1 As Infragistics.Win.UltraWinToolbars.OptionSet = New Infragistics.Win.UltraWinToolbars.OptionSet("LanguageMode") Dim btlMDI As ButtonTool Dim popMDI As PopupMenuTool Dim sbtMDI As StateButtonTool #Region " Windows Form 設計工具產生的程式碼 " Public Sub New() MyBase.New() '此呼叫為 Windows Form 設計工具的必要項。 InitializeComponent() '在 InitializeComponent() 呼叫之後加入所有的初始設定 End Sub 'Form 覆寫 Dispose 以清除元件清單。 Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub '為 Windows Form 設計工具的必要項 Private components As System.ComponentModel.IContainer '注意: 以下為 Windows Form 設計工具所需的程序 '您可以使用 Windows Form 設計工具進行修改。 '請勿使用程式碼編輯器來修改這些程序。 Friend WithEvents UltraToolbarsManager1 As Infragistics.Win.UltraWinToolbars.UltraToolbarsManager Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Left As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Right As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Top As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea Friend WithEvents _MDIENT_Panel_Toolbars_Dock_Area_Bottom As Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea Friend WithEvents UltraDockManager1 As Infragistics.Win.UltraWinDock.UltraDockManager Friend WithEvents _MDIENT_PanelUnpinnedTabAreaLeft As Infragistics.Win.UltraWinDock.UnpinnedTabArea Friend WithEvents _MDIENT_PanelUnpinnedTabAreaRight As Infragistics.Win.UltraWinDock.UnpinnedTabArea Friend WithEvents _MDIENT_PanelUnpinnedTabAreaTop As Infragistics.Win.UltraWinDock.UnpinnedTabArea Friend WithEvents _MDIENT_PanelUnpinnedTabAreaBottom As Infragistics.Win.UltraWinDock.UnpinnedTabArea Friend WithEvents _MDIENT_PanelAutoHideControl As Infragistics.Win.UltraWinDock.AutoHideControl Friend WithEvents uebMenu As Infragistics.Win.UltraWinExplorerBar.UltraExplorerBar Friend WithEvents WindowDockingArea1 As Infragistics.Win.UltraWinDock.WindowDockingArea Friend WithEvents DockableWindow1 As Infragistics.Win.UltraWinDock.DockableWindow Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim DockAreaPane2 As Infragistics.Win.UltraWinDock.DockAreaPane = New Infragistics.Win.UltraWinDock.DockAreaPane(Infragistics.Win.UltraWinDock.DockedLocation.DockedLeft, New System.Guid("8666bbed-9885-4c68-819e-c049f9eac535")) Dim DockableControlPane2 As Infragistics.Win.UltraWinDock.DockableControlPane = New Infragistics.Win.UltraWinDock.DockableControlPane(New System.Guid("5a475b0e-96d9-4cd0-973b-da8cba709615"), New System.Guid("00000000-0000-0000-0000-000000000000"), -1, New System.Guid("8666bbed-9885-4c68-819e-c049f9eac535"), -1) Me.uebMenu = New Infragistics.Win.UltraWinExplorerBar.UltraExplorerBar() Me.UltraToolbarsManager1 = New Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(Me.components) Me._MDIENT_Panel_Toolbars_Dock_Area_Left = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() Me._MDIENT_Panel_Toolbars_Dock_Area_Right = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() Me._MDIENT_Panel_Toolbars_Dock_Area_Top = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom = New Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea() Me.UltraDockManager1 = New Infragistics.Win.UltraWinDock.UltraDockManager(Me.components) Me._MDIENT_PanelUnpinnedTabAreaLeft = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() Me._MDIENT_PanelUnpinnedTabAreaRight = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() Me._MDIENT_PanelUnpinnedTabAreaTop = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() Me._MDIENT_PanelUnpinnedTabAreaBottom = New Infragistics.Win.UltraWinDock.UnpinnedTabArea() Me._MDIENT_PanelAutoHideControl = New Infragistics.Win.UltraWinDock.AutoHideControl() Me.DockableWindow1 = New Infragistics.Win.UltraWinDock.DockableWindow() Me.WindowDockingArea1 = New Infragistics.Win.UltraWinDock.WindowDockingArea() CType(Me.uebMenu, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.UltraToolbarsManager1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.UltraDockManager1, System.ComponentModel.ISupportInitialize).BeginInit() Me._MDIENT_PanelAutoHideControl.SuspendLayout() Me.DockableWindow1.SuspendLayout() Me.SuspendLayout() ' 'uebMenu ' Me.uebMenu.Location = New System.Drawing.Point(0, 18) Me.uebMenu.Name = "uebMenu" Me.uebMenu.Size = New System.Drawing.Size(300, 424) Me.uebMenu.TabIndex = 10 ' 'UltraToolbarsManager1 ' Me.UltraToolbarsManager1.DesignerFlags = 1 Me.UltraToolbarsManager1.DockWithinContainer = Me Me.UltraToolbarsManager1.DockWithinContainerBaseType = GetType(System.Windows.Forms.Form) ' '_MDIENT_Panel_Toolbars_Dock_Area_Left ' Me._MDIENT_Panel_Toolbars_Dock_Area_Left.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping Me._MDIENT_Panel_Toolbars_Dock_Area_Left.BackColor = System.Drawing.SystemColors.Control Me._MDIENT_Panel_Toolbars_Dock_Area_Left.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Left Me._MDIENT_Panel_Toolbars_Dock_Area_Left.ForeColor = System.Drawing.SystemColors.ControlText Me._MDIENT_Panel_Toolbars_Dock_Area_Left.Location = New System.Drawing.Point(0, 0) Me._MDIENT_Panel_Toolbars_Dock_Area_Left.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Left" Me._MDIENT_Panel_Toolbars_Dock_Area_Left.Size = New System.Drawing.Size(0, 442) Me._MDIENT_Panel_Toolbars_Dock_Area_Left.ToolbarsManager = Me.UltraToolbarsManager1 ' '_MDIENT_Panel_Toolbars_Dock_Area_Right ' Me._MDIENT_Panel_Toolbars_Dock_Area_Right.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping Me._MDIENT_Panel_Toolbars_Dock_Area_Right.BackColor = System.Drawing.SystemColors.Control Me._MDIENT_Panel_Toolbars_Dock_Area_Right.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Right Me._MDIENT_Panel_Toolbars_Dock_Area_Right.ForeColor = System.Drawing.SystemColors.ControlText Me._MDIENT_Panel_Toolbars_Dock_Area_Right.Location = New System.Drawing.Point(624, 0) Me._MDIENT_Panel_Toolbars_Dock_Area_Right.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Right" Me._MDIENT_Panel_Toolbars_Dock_Area_Right.Size = New System.Drawing.Size(0, 442) Me._MDIENT_Panel_Toolbars_Dock_Area_Right.ToolbarsManager = Me.UltraToolbarsManager1 ' '_MDIENT_Panel_Toolbars_Dock_Area_Top ' Me._MDIENT_Panel_Toolbars_Dock_Area_Top.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping Me._MDIENT_Panel_Toolbars_Dock_Area_Top.BackColor = System.Drawing.SystemColors.Control Me._MDIENT_Panel_Toolbars_Dock_Area_Top.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Top Me._MDIENT_Panel_Toolbars_Dock_Area_Top.ForeColor = System.Drawing.SystemColors.ControlText Me._MDIENT_Panel_Toolbars_Dock_Area_Top.Location = New System.Drawing.Point(0, 0) Me._MDIENT_Panel_Toolbars_Dock_Area_Top.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Top" Me._MDIENT_Panel_Toolbars_Dock_Area_Top.Size = New System.Drawing.Size(624, 0) Me._MDIENT_Panel_Toolbars_Dock_Area_Top.ToolbarsManager = Me.UltraToolbarsManager1 ' '_MDIENT_Panel_Toolbars_Dock_Area_Bottom ' Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.AccessibleRole = System.Windows.Forms.AccessibleRole.Grouping Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.BackColor = System.Drawing.SystemColors.Control Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.DockedPosition = Infragistics.Win.UltraWinToolbars.DockedPosition.Bottom Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.ForeColor = System.Drawing.SystemColors.ControlText Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.Location = New System.Drawing.Point(0, 442) Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.Name = "_MDIENT_Panel_Toolbars_Dock_Area_Bottom" Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.Size = New System.Drawing.Size(624, 0) Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom.ToolbarsManager = Me.UltraToolbarsManager1 ' 'UltraDockManager1 ' DockableControlPane2.Control = Me.uebMenu DockableControlPane2.FlyoutSize = New System.Drawing.Size(239, -1) DockableControlPane2.Key = "WIPModule" DockableControlPane2.OriginalControlBounds = New System.Drawing.Rectangle(208, 112, 175, 230) DockableControlPane2.Pinned = False DockableControlPane2.Size = New System.Drawing.Size(100, 100) DockableControlPane2.Text = "WIP" DockAreaPane2.Panes.AddRange(New Infragistics.Win.UltraWinDock.DockablePaneBase() {DockableControlPane2}) DockAreaPane2.Size = New System.Drawing.Size(239, 294) Me.UltraDockManager1.DockAreas.AddRange(New Infragistics.Win.UltraWinDock.DockAreaPane() {DockAreaPane2}) Me.UltraDockManager1.HostControl = Me Me.UltraDockManager1.ShowCloseButton = False ' '_MDIENT_PanelUnpinnedTabAreaLeft ' Me._MDIENT_PanelUnpinnedTabAreaLeft.Dock = System.Windows.Forms.DockStyle.Left Me._MDIENT_PanelUnpinnedTabAreaLeft.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me._MDIENT_PanelUnpinnedTabAreaLeft.Location = New System.Drawing.Point(0, 0) Me._MDIENT_PanelUnpinnedTabAreaLeft.Name = "_MDIENT_PanelUnpinnedTabAreaLeft" Me._MDIENT_PanelUnpinnedTabAreaLeft.Owner = Me.UltraDockManager1 Me._MDIENT_PanelUnpinnedTabAreaLeft.Size = New System.Drawing.Size(21, 442) Me._MDIENT_PanelUnpinnedTabAreaLeft.TabIndex = 5 ' '_MDIENT_PanelUnpinnedTabAreaRight ' Me._MDIENT_PanelUnpinnedTabAreaRight.Dock = System.Windows.Forms.DockStyle.Right Me._MDIENT_PanelUnpinnedTabAreaRight.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me._MDIENT_PanelUnpinnedTabAreaRight.Location = New System.Drawing.Point(624, 0) Me._MDIENT_PanelUnpinnedTabAreaRight.Name = "_MDIENT_PanelUnpinnedTabAreaRight" Me._MDIENT_PanelUnpinnedTabAreaRight.Owner = Me.UltraDockManager1 Me._MDIENT_PanelUnpinnedTabAreaRight.Size = New System.Drawing.Size(0, 442) Me._MDIENT_PanelUnpinnedTabAreaRight.TabIndex = 6 ' '_MDIENT_PanelUnpinnedTabAreaTop ' Me._MDIENT_PanelUnpinnedTabAreaTop.Dock = System.Windows.Forms.DockStyle.Top Me._MDIENT_PanelUnpinnedTabAreaTop.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me._MDIENT_PanelUnpinnedTabAreaTop.Location = New System.Drawing.Point(21, 0) Me._MDIENT_PanelUnpinnedTabAreaTop.Name = "_MDIENT_PanelUnpinnedTabAreaTop" Me._MDIENT_PanelUnpinnedTabAreaTop.Owner = Me.UltraDockManager1 Me._MDIENT_PanelUnpinnedTabAreaTop.Size = New System.Drawing.Size(603, 0) Me._MDIENT_PanelUnpinnedTabAreaTop.TabIndex = 7 ' '_MDIENT_PanelUnpinnedTabAreaBottom ' Me._MDIENT_PanelUnpinnedTabAreaBottom.Dock = System.Windows.Forms.DockStyle.Bottom Me._MDIENT_PanelUnpinnedTabAreaBottom.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me._MDIENT_PanelUnpinnedTabAreaBottom.Location = New System.Drawing.Point(21, 442) Me._MDIENT_PanelUnpinnedTabAreaBottom.Name = "_MDIENT_PanelUnpinnedTabAreaBottom" Me._MDIENT_PanelUnpinnedTabAreaBottom.Owner = Me.UltraDockManager1 Me._MDIENT_PanelUnpinnedTabAreaBottom.Size = New System.Drawing.Size(603, 0) Me._MDIENT_PanelUnpinnedTabAreaBottom.TabIndex = 8 ' '_MDIENT_PanelAutoHideControl ' Me._MDIENT_PanelAutoHideControl.Controls.Add(Me.DockableWindow1) Me._MDIENT_PanelAutoHideControl.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me._MDIENT_PanelAutoHideControl.Location = New System.Drawing.Point(21, 0) Me._MDIENT_PanelAutoHideControl.Name = "_MDIENT_PanelAutoHideControl" Me._MDIENT_PanelAutoHideControl.Owner = Me.UltraDockManager1 Me._MDIENT_PanelAutoHideControl.Size = New System.Drawing.Size(14, 442) Me._MDIENT_PanelAutoHideControl.TabIndex = 9 ' 'DockableWindow1 ' Me.DockableWindow1.Controls.Add(Me.uebMenu) Me.DockableWindow1.Location = New System.Drawing.Point(0, 0) Me.DockableWindow1.Name = "DockableWindow1" Me.DockableWindow1.Owner = Me.UltraDockManager1 Me.DockableWindow1.Size = New System.Drawing.Size(239, 442) Me.DockableWindow1.TabIndex = 17 ' 'WindowDockingArea1 ' Me.WindowDockingArea1.Dock = System.Windows.Forms.DockStyle.Left Me.WindowDockingArea1.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me.WindowDockingArea1.Location = New System.Drawing.Point(21, 0) Me.WindowDockingArea1.Name = "WindowDockingArea1" Me.WindowDockingArea1.Owner = Me.UltraDockManager1 Me.WindowDockingArea1.Size = New System.Drawing.Size(244, 294) Me.WindowDockingArea1.TabIndex = 11 ' 'MDI_Panel ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 14) Me.ClientSize = New System.Drawing.Size(624, 442) Me.Controls.Add(Me._MDIENT_PanelAutoHideControl) Me.Controls.Add(Me.WindowDockingArea1) Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaTop) Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaBottom) Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaLeft) Me.Controls.Add(Me._MDIENT_PanelUnpinnedTabAreaRight) Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Left) Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Right) Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Bottom) Me.Controls.Add(Me._MDIENT_Panel_Toolbars_Dock_Area_Top) Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(136, Byte)) Me.IsMdiContainer = True Me.Name = "MDI_Panel" Me.Text = "Test" Me.WindowState = System.Windows.Forms.FormWindowState.Maximized CType(Me.uebMenu, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.UltraToolbarsManager1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.UltraDockManager1, System.ComponentModel.ISupportInitialize).EndInit() Me._MDIENT_PanelAutoHideControl.ResumeLayout(False) Me.DockableWindow1.ResumeLayout(False) Me.ResumeLayout(False) End Sub #End Region Private Sub MDIENT_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Cursor.Current = Cursors.WaitCursor ''---掛載Online Help---- Dim clsHelp As New clsOnlineHelp clsHelp.AddEventToForm(Me) 'set BackColor Call setMDIBackColor(Me) ModuleNo = "SYS" ' 2016/05/09 YF, 產生選單 GenerateMenu() '3.Get EnterpriseNo----------------------------------------------------------------------------------------------------------- Call funGetEnterpriseNo() '4.版本檢查 Call ChkVersion() 'Me.Text = Me.Text & " - " & GetClientVersion() 'Gary Lu 20120718:標題加上版本編號 '5.Execute Change Resource----------------------------------------------------------------------------------------------------- 'Call ExeChangeResource(Me, gLanguageMode) '6.Set iMESExceptionManager LanguageMode--------------------------------------------------------------------------------------- iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode Cursor.Current = Cursors.Default End Sub #Region " UltraWinToolbars Menu & ToolBar Function " Private Function funCreateUltraPopupMenuToolbar(ByRef ParentMenuItem As iMESMenuItem) As PopupMenuTool 'PopupMenuTool popMDI = New PopupMenuTool(ParentMenuItem.Name) popMDI.SharedProps.Tag = ParentMenuItem.Name popMDI.SharedProps.ToolTipText = ParentMenuItem.Name UltraToolbarsManager1.Tools.Add(popMDI) Return popMDI End Function Private Function funCreateUltraButtonMenuToolbar(ByRef ParentMenuItem As iMESMenuItem) 'Button Tool btlMDI = New ButtonTool(ParentMenuItem.Name) btlMDI.SharedProps.Tag = ParentMenuItem.Name btlMDI.SharedProps.ToolTipText = ParentMenuItem.Name UltraToolbarsManager1.Tools.Add(btlMDI) utbMDIMenu.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {btlMDI}) End Function Private Sub funCreateUltraMenuItemToolbar(ByRef tmppopMDI As PopupMenuTool, ByRef ParentMenuItem As iMESMenuItem, Optional ByVal btlEnabled As Boolean = True) If ParentMenuItem.Name.ToUpper = "EN" Or ParentMenuItem.Name.ToUpper = "ZH-CHT" Or ParentMenuItem.Name.ToUpper = "ZH-CHS" Or ParentMenuItem.Name.ToUpper = "JP" Or ParentMenuItem.Name.ToUpper = "KOR" Or ParentMenuItem.Name.ToUpper = "THAI" Or ParentMenuItem.Name.ToUpper = "VIET" Then funCreateUltraStatButtonToolbar(tmppopMDI, ParentMenuItem, , "LanguageMode") ElseIf ParentMenuItem.Checkable = True Then funCreateUltraStatButtonToolbar(tmppopMDI, ParentMenuItem, btlEnabled) Else '產生UltraToolBar Button btlMDI = New ButtonTool(ParentMenuItem.Name) btlMDI.SharedProps.Tag = ParentMenuItem.Name btlMDI.SharedProps.ToolTipText = ParentMenuItem.Name btlMDI.SharedProps.Enabled = btlEnabled If Not ParentMenuItem.Icon Is Nothing Then 'Image imlMDI.Images.Add(ParentMenuItem.Icon) btlMDI.SharedProps.AppearancesSmall.Appearance.Image = imlMDI.Images.Count - 1 End If btlMDI.SharedProps.Shortcut = ParentMenuItem.Shortcut UltraToolbarsManager1.Tools.Add(btlMDI) tmppopMDI.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {btlMDI}) End If End Sub Private Sub funCreateUltraStatButtonToolbar(ByRef tmppopMDI As PopupMenuTool, ByRef ParentMenuItem As iMESMenuItem, Optional ByVal btlEnabled As Boolean = True, Optional ByVal tmpOptionSetKey As String = "") '產生UltraToolBar Button sbtMDI = New StateButtonTool(ParentMenuItem.Name) sbtMDI.MenuDisplayStyle = Infragistics.Win.UltraWinToolbars.StateButtonMenuDisplayStyle.DisplayCheckmark sbtMDI.SharedProps.Tag = ParentMenuItem.Name sbtMDI.SharedProps.ToolTipText = ParentMenuItem.Name sbtMDI.SharedProps.Enabled = btlEnabled sbtMDI.OptionSetKey = tmpOptionSetKey If gLanguageMode.ToUpper = ParentMenuItem.Name.ToUpper Or ParentMenuItem.Checked = True Then sbtMDI.Checked = True End If If Not ParentMenuItem.Icon Is Nothing Then 'Image imlMDI.Images.Add(ParentMenuItem.Icon) sbtMDI.SharedProps.AppearancesSmall.Appearance.Image = imlMDI.Images.Count - 1 End If sbtMDI.SharedProps.Shortcut = ParentMenuItem.Shortcut UltraToolbarsManager1.Tools.Add(sbtMDI) tmppopMDI.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {sbtMDI}) End Sub Private Sub funCreateUltraToolbar(ByRef ParentMenuItem As iMESMenuItem) '產生UltraToolBar Button If Not ParentMenuItem.Icon Is Nothing Then 'Image imlMDI.Images.Add(ParentMenuItem.Icon) 'Button btlMDI = New ButtonTool(ParentMenuItem.Name) btlMDI.SharedProps.Tag = ParentMenuItem.Name btlMDI.SharedProps.ToolTipText = ParentMenuItem.Name btlMDI.SharedProps.AppearancesSmall.Appearance.Image = imlMDI.Images.Count - 1 utbMDI.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {btlMDI}) End If End Sub #End Region #Region " UltraWinExplorerBar & UltraWinToolbars Events " Private Sub uebRPTMenu_ItemClick(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinExplorerBar.ItemEventArgs) Handles uebMenu.ItemClick ExecutingFunction(e.Item.Key) End Sub Private Sub uebRPTMenu_ItemDoubleClick(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinExplorerBar.ItemEventArgs) Handles uebMenu.ItemDoubleClick ExecutingFunction(e.Item.Key) End Sub Private Sub UltraToolbarsManager1_ToolClick(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinToolbars.ToolClickEventArgs) Handles UltraToolbarsManager1.ToolClick Dim strOptionSetKey As String = "" If (e.Tool.GetType Is GetType(StateButtonTool)) Then strOptionSetKey = CType(e.Tool, StateButtonTool).OptionSetKey End If ExecutingFunction(e.Tool.Key, strOptionSetKey) End Sub Protected Sub ExecutingFunction(ByVal FunctionKey As String, Optional OptionSetKey As String = "") Dim strFormName As String Dim TempChild As Form Dim CurrentForm As Form Cursor.Current = Cursors.WaitCursor Try ' 2016/05/09 YF, 重新產生選單 If OptionSetKey = "MODULE" Then ModuleNo = FunctionKey.Replace("Module", "") GenerateMenu() Exit Sub End If Select Case FunctionKey.ToUpper Case "EXIT" 'End Me.Close() Case "CASCADE" Me.LayoutMdi(MdiLayout.Cascade) Case "VERTICAL" Me.LayoutMdi(MdiLayout.TileVertical) Case "HORIZONTAL" Me.LayoutMdi(MdiLayout.TileHorizontal) 'Change Language Mode Case "zh-CHT".ToUpper gLanguageMode = "zh-CHT" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "zh-CHS".ToUpper gLanguageMode = "zh-CHS" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "en".ToUpper gLanguageMode = "en" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "jp".ToUpper gLanguageMode = "jp" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "kor".ToUpper 'Korea(韓國語系) gLanguageMode = "kor" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "thai".ToUpper 'Thailand(泰國語系) gLanguageMode = "thai" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "viet".ToUpper 'VietNam(越南語系) gLanguageMode = "viet" iMESExceptionManager.ExceptionManager.LanguageMode = gLanguageMode CurrentForm = Form.ActiveForm If Not CurrentForm Is Nothing Then Call ExeChangeResource(CurrentForm, gLanguageMode) End If '變更畫面上的表單(僅限MDI Child Form) For Each TempChild In Me.MdiChildren If Not (TempChild Is CurrentForm) Then Call ExeChangeResource(TempChild, gLanguageMode) End If Next '變更其他語系的Checked為False 'Call funChangeChecked(mnuMenuItem) Case "ABOUTME" strFormName = "frmAboutMe" blnShow = False For i = 0 To Me.MdiChildren.Length - 1 If Me.MdiChildren(i).Name = strFormName Then Me.MdiChildren(i).Focus() blnShow = True Exit For End If Next If blnShow = False Then '目前沒有顯示 Dim mainAssembly As System.Reflection.Assembly = LoadAssembly("COM_AboutMe.dll") If (mainAssembly Is Nothing) Then Exit Sub End If Dim objForm As Form = mainAssembly.CreateInstance(mainAssembly.GetName.Name & "." & strFormName) If objForm Is Nothing Then 'Form不存在 MsgBox("Form : " & strFormName & " is not exist!!", MsgBoxStyle.Exclamation) Exit Sub End If objForm.MdiParent = MDI_Panel.ActiveForm objForm.AutoScaleMode = Windows.Forms.AutoScaleMode.None objForm.Show() End If Case Else Dim strExecutionFile As String = dsData.Tables(strUserPriv).Select("FunctionNo='" & FunctionKey & "'")(0)("ExecutionFile") strFormName = dsData.Tables(strUserPriv).Select("FunctionNo='" & FunctionKey & "'")(0)("FormName") If (Not Application.OpenForms.Item(strFormName) Is Nothing) AndAlso (strFormName <> "frmRPT_Script") Then If Application.OpenForms.Item(strFormName).WindowState <> FormWindowState.Normal Then Application.OpenForms.Item(strFormName).WindowState = FormWindowState.Normal Application.OpenForms.Item(strFormName).Focus() Exit Sub End If Dim mainAssembly As System.Reflection.Assembly = LoadAssembly(strExecutionFile) If (mainAssembly Is Nothing) Then Exit Sub End If 'Show Form 'Dim mainAssembly As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly 'Dim objForm As Form = mainAssembly.CreateInstance(mainAssembly.EntryPoint.ReflectedType.Namespace & "." & strFormName) Dim objForm As Form = mainAssembly.CreateInstance(mainAssembly.GetName.Name & "." & strFormName) If objForm Is Nothing Then 'Form不存在 MsgBox("Form : " & strFormName & " is not exist!!", MsgBoxStyle.Exclamation) Exit Sub End If objForm.MdiParent = MDI_Panel.ActiveForm '設定值予公用變數 Dim myfieldinfo() As System.Reflection.FieldInfo Dim myType As Type = objForm.GetType Dim i As Integer myfieldinfo = myType.GetFields() For i = 0 To myfieldinfo.Length - 1 If myfieldinfo(i).Name.ToUpper = "PrivFunNo".ToUpper Then myfieldinfo(i).SetValue(objForm, FunctionKey) End If Next i objForm.AutoScaleMode = Windows.Forms.AutoScaleMode.None objForm.Show() End Select Catch ex As Exception MsgBox("This Function can not be executed. " & ex.Message, MsgBoxStyle.Exclamation, "Warning") 'ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) End Try Cursor.Current = Cursors.Default End Sub #End Region Private Sub funLoadUserPriv() If (Not dsData.Tables(strUserPriv) Is Nothing) Then dsData.Tables.Remove(strUserPriv) End If Dim XmlDoc As New XmlDocument '處理Xml字串之物件? Dim tmpStringReader As System.IO.StringReader '將字串轉換成可讀入DataSet的物件 Dim InXml, OutXml, strIdentity, strParameter As String '呼叫WS的字串參數 Dim XmlData, XmlSchema As String '儲存取回之資料及資料結構 '組InXml的字串 strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) strParameter = CombineXMLParameter("userno", "UserNo", "String", gUserNo, "") strParameter = strParameter & CombineXMLParameter("moduleno", "ModuleNo", "String", ModuleNo, "") InXml = CombineXMLRequest(strIdentity, strParameter) Try OutXml = InvokeSrv("wsUSR.LoadUserPriv", InXml) XmlDoc.LoadXml(OutXml) If ChkExecutionSuccess(XmlDoc) Then strUserPriv = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loaduserpriv").Item(0).SelectNodes("name").Item(0).InnerXml '取出Data XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loaduserpriv").Item(0).SelectNodes("value").Item(0).InnerXml If XmlData <> "" Then tmpStringReader = New System.IO.StringReader(XmlData) dsData.ReadXml(tmpStringReader, XmlReadMode.InferSchema) tmpStringReader.Close() End If Else MsgBox(GetExceptionSysMsg(XmlDoc) & Chr(13) & GetExceptionMesMsg(XmlDoc), MsgBoxStyle.Exclamation) Exit Sub End If Catch e1 As Exception MsgBox("Unexpected Error. Load User's Priv Failed," & e1.Message, MsgBoxStyle.Exclamation) Finally XmlDoc = Nothing tmpStringReader = Nothing End Try End Sub Protected Overrides Sub Finalize() MyBase.Finalize() End Sub Public Sub funGetEnterpriseNo() Dim XmlDoc As New XmlDocument Dim tmpStringReader As System.IO.StringReader Dim InXml, OutXml, strIdentity, strParameter, XmlData, XmlSchema, strPara As String Dim dsTemp As New DataSet strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) strParameter = CombineXMLParameter("parameterno", "ParameterNo", "String", "EnterpriseNo", "") InXml = CombineXMLRequest(strIdentity, strParameter) Try OutXml = InvokeSrv("wsSYS.LoadParameter", InXml) XmlDoc.LoadXml(OutXml) If ChkExecutionSuccess(XmlDoc) Then strPara = XmlDoc.GetElementsByTagName("returnvalue").Item(0).SelectNodes("loadparameter").Item(0).SelectNodes("name").Item(0).InnerXml XmlSchema = XmlDoc.DocumentElement.GetElementsByTagName("loadparameter").Item(0).SelectNodes("schema").Item(0).InnerXml If XmlSchema <> "" Then '將XML讀入String Reader object中,因為Dataset讀入XML時必須透過String Reader物件 tmpStringReader = New System.IO.StringReader(XmlSchema) dsTemp.ReadXmlSchema(tmpStringReader) tmpStringReader.Close() End If XmlData = XmlDoc.DocumentElement.GetElementsByTagName("loadparameter").Item(0).SelectNodes("value").Item(0).InnerXml If XmlData <> "" Then tmpStringReader = New System.IO.StringReader(XmlData) dsTemp.ReadXml(tmpStringReader, XmlReadMode.InferSchema) tmpStringReader.Close() End If If dsTemp.Tables(strPara).Rows.Count > 0 Then gEnterpriseNo = dsTemp.Tables(strPara).Rows(0)("ParameterValue").ToString.ToUpper End If Else MsgBox(GetExceptionSysMsg(XmlDoc) & Chr(13) & GetExceptionMesMsg(XmlDoc), MsgBoxStyle.Exclamation) End If Catch ex As Exception MsgBox("Unexpected Error. GetEnterpriseNo failed, " & ex.Message, MsgBoxStyle.Exclamation) Finally XmlDoc = Nothing tmpStringReader = Nothing dsTemp = Nothing End Try End Sub ' 2016/05/09 YF, 產生模組選單 Private Sub GenerateModuleItems() Dim aryModule() As String = {"AUT", "DT", "EMS", "ENT", "EQP", "IEW", "INV", "ISU", "MSA", "MTL", "OE", "OP", "PM", "PRD", "PRS", "QC", "RPT", "SMD", "SPC", "SYS", "USR", "WIP"} Dim popModule As PopupMenuTool Dim sbt As StateButtonTool Try popModule = New PopupMenuTool("MODULE") popModule.SharedProps.Tag = "MODULE" popModule.SharedProps.ToolTipText = "MODULE" UltraToolbarsManager1.Tools.Add(popModule) '產生UltraToolBar Button For Each m As String In aryModule sbt = New StateButtonTool(m & "Module") sbt.MenuDisplayStyle = Infragistics.Win.UltraWinToolbars.StateButtonMenuDisplayStyle.DisplayCheckmark sbt.CustomizedCaption = m sbt.SharedProps.Tag = m sbt.SharedProps.ToolTipText = m sbt.SharedProps.Enabled = True sbt.OptionSetKey = "MODULE" If ModuleNo = m Then sbt.Checked = True End If UltraToolbarsManager1.Tools.Add(sbt) popModule.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {sbt}) Next Me.utbMDIMenu.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {popModule}) Me.utbMDIMenu.Tools.Item("MODULE").CustomizedIsFirstInGroup = DefaultableBoolean.True Catch ex As Exception MsgBox("GenerateModuleMenu failed, " & ex.Message, MsgBoxStyle.Exclamation) End Try End Sub Private Sub GenerateMenu() Try ' 2016/05/09 YF, 清空選單 RemoveObject() '取出User Privileges Call funLoadUserPriv() '1.Create MainMenu------------------------------------------------------------------------------------------------------------- Dim strFileName As String strFileName = GetMainMenuFileName() '檢查檔案是否存在 If Dir(strFileName) = "" Then 'File not exist MsgBox(strFileName & vbCrLf & "is not exist,Load MDI Form failed!!", MsgBoxStyle.Exclamation) Exit Sub End If '將處理 MenuItem 被點選的函數以 EventHandler Delegation 傳給 mnuMainMenu Dim mnuMainMenu As New iMESMainMenu.iMESMainMenuControl(strFileName, Nothing) 'Add ExplorerBar MainMenu By carl 2007.08.14 Dim j As Integer Dim tempMenuSplit As Integer = defInteger Dim panelmenu As MainMenu = New MainMenu(mnuMainMenu.CreateMainMenu(ModuleNo)) Dim tmpMenuItem1 As iMESMenuItem Dim tmpPopMenu As PopupMenuTool UltraDockManager1.ControlPanes(0).Pinned = False UltraDockManager1.ShowCloseButton = False uebMenu.GroupSettings.AllowDrag = DefaultableBoolean.False uebMenu.GroupSettings.AllowEdit = DefaultableBoolean.False uebMenu.GroupSettings.AllowItemDrop = DefaultableBoolean.False uebMenu.ItemSettings.AllowDragCopy = UltraWinExplorerBar.ItemDragStyle.None uebMenu.ItemSettings.AllowDragMove = UltraWinExplorerBar.ItemDragStyle.None uebMenu.ItemSettings.AllowEdit = DefaultableBoolean.False uebMenu.ShowDefaultContextMenu = False uebMenu.ItemSettings.UseDefaultImage = Infragistics.Win.DefaultableBoolean.False uebMenu.ItemSettings.MaxLines = 2 If Not dsData.Tables(strUserPriv) Is Nothing Then '沒有任何權限,所有Privilege MenuItem都不可使用 For i = 0 To panelmenu.MenuItems.Count - 1 tmpMenuItem1 = CType(panelmenu.MenuItems(i), iMESMenuItem) If i <= panelmenu.MenuItems.Count - 4 Then uebMenu.Groups.Add(tmpMenuItem1.Text.ToUpper) uebMenu.Groups(i).Expanded = True End If If tmpMenuItem1.Name.ToUpper = "EXIT" Then funCreateUltraButtonMenuToolbar(tmpMenuItem1) Else tmpPopMenu = funCreateUltraPopupMenuToolbar(tmpMenuItem1) For j = 0 To tmpMenuItem1.MenuItems.Count - 1 If CType(tmpMenuItem1.MenuItems(j), iMESMenuItem).MenuType = iMESMenuItem.mesMenuType.MenuPrivilege Then If dsData.Tables(strUserPriv).Select("FunctionNo='" & tmpMenuItem1.MenuItems(j).Text.ToUpper & "'").Length > 0 Then funCreateUltraMenuItemToolbar(tmpPopMenu, CType(tmpMenuItem1.MenuItems(j), iMESMenuItem)) uebMenu.Groups(i).Items.Add(tmpMenuItem1.MenuItems(j).Text) funCreateUltraToolbar(CType(tmpMenuItem1.MenuItems(j), iMESMenuItem)) If tempMenuSplit = j Then tmpPopMenu.Tools(tmpMenuItem1.MenuItems(j).Text).InstanceProps.IsFirstInGroup = True End If Else funCreateUltraMenuItemToolbar(tmpPopMenu, CType(tmpMenuItem1.MenuItems(j), iMESMenuItem), False) If tempMenuSplit = j Then tmpPopMenu.Tools(tmpMenuItem1.MenuItems(j).Text).InstanceProps.IsFirstInGroup = True End If End If ElseIf CType(tmpMenuItem1.MenuItems(j), iMESMenuItem).MenuType = iMESMenuItem.mesMenuType.MenuString Then funCreateUltraMenuItemToolbar(tmpPopMenu, CType(tmpMenuItem1.MenuItems(j), iMESMenuItem)) If tempMenuSplit = j Then tmpPopMenu.Tools(tmpMenuItem1.MenuItems(j).Text).InstanceProps.IsFirstInGroup = True End If ElseIf CType(tmpMenuItem1.MenuItems(j), iMESMenuItem).MenuType = iMESMenuItem.mesMenuType.MenuSplit Then tempMenuSplit = j + 1 End If Next utbMDIMenu.Tools.AddRange(New Infragistics.Win.UltraWinToolbars.ToolBase() {tmpPopMenu}) End If Next End If 'Add UltraToolBar----------------------------------------------------------------------------------------------------------------- If utbMDI.Tools.Count > 0 Then imlMDI.ImageSize = New Size(24, 24) utbMDI.Text = "Toolbar" utbMDI.Settings.ToolDisplayStyle = ToolDisplayStyle.ImageAndText utbMDI.Settings.CaptionPlacement = TextPlacement.Default utbMDI.IsMainMenuBar = False utbMDI.DockedPosition = DockedPosition.Top UltraToolbarsManager1.Style = ToolbarStyle.Office2003 UltraToolbarsManager1.ImageListSmall = imlMDI UltraToolbarsManager1.Toolbars.Add(utbMDI) End If 'Add Menu UltraToolBar----------------------------------------------------------------------------------------------------------------- If utbMDIMenu.Tools.Count > 0 Then imlMDI.ImageSize = New Size(24, 24) utbMDIMenu.Text = "MainMenu" utbMDIMenu.Settings.ToolDisplayStyle = ToolDisplayStyle.ImageAndText utbMDIMenu.Settings.CaptionPlacement = TextPlacement.Default utbMDIMenu.IsMainMenuBar = True utbMDIMenu.DockedPosition = DockedPosition.Top UltraToolbarsManager1.OptionSets.Add(OptionSet1) UltraToolbarsManager1.Style = ToolbarStyle.Office2003 UltraToolbarsManager1.ImageListSmall = imlMDI UltraToolbarsManager1.Toolbars.Add(utbMDIMenu) UltraToolbarsManager1.Toolbars("MainMenu").ToolbarsManager.ToolbarSettings.ToolSpacing = 5 End If ' 2016/05/09 YF, 產生模組選單 GenerateModuleItems() Catch ex As Exception MsgBox("GenerateMenuItem failed, " & ex.Message, MsgBoxStyle.Exclamation) Finally Me.Text = "Test" ExeChangeResource(Me, gLanguageMode) End Try End Sub Private Sub RemoveObject() uebMenu.Groups.Clear() utbMDIMenu.Tools.Clear() utbMDI.Tools.Clear() UltraToolbarsManager1.Toolbars.Clear() UltraToolbarsManager1.Tools.Clear() UltraToolbarsManager1.OptionSets.Clear() Me.UltraDockManager1.DockAreas(0).Panes.Item(0).Text = ModuleNo Me.UltraDockManager1.DockAreas(0).Panes.Item(0).Key = ModuleNo & "Module" For i As Integer = Application.OpenForms.Count - 1 To 0 Step -1 If (Application.OpenForms.Item(i).Name <> "MDI_Panel") Then Application.OpenForms.Item(i).Close() End If Next End Sub End Class