public static extern bool SetForegroundWindow(IntPtr hWnd);//设置此窗体为活动窗体 /// <summary> /// 加载XML /// </summary> /// <param name="xmlPath">XML路径</param> public override void Load(String xmlPath) { LoadFile(xmlPath, null); DataCenter.MainUI = this; m_mainDiv = Native.GetControls()[0] as DivA; m_mainDiv.BackColor = COLOR.CONTROL; ControlPaintEvent paintLayoutEvent = new ControlPaintEvent(PaintLayoutDiv); m_mainDiv.RegisterEvent(paintLayoutEvent, EVENTID.PAINT); m_mainDiv.RegisterEvent(new ControlInvokeEvent(Invoke), EVENTID.INVOKE); DataCenter.ServerChatService.RegisterListener(DataCenter.ChatRequestID, new ListenerMessageCallBack(ChatMessageCallBack)); m_gridHosts = GetGrid("gridHosts"); m_gridHosts.GridLineColor = COLOR.CONTROLBORDER; GridRowStyle rowStyle = new GridRowStyle(); rowStyle.HoveredBackColor = CDraw.PCOLORS_HOVEREDROWCOLOR; rowStyle.SelectedBackColor = CDraw.PCOLORS_SELECTEDROWCOLOR; rowStyle.SelectedForeColor = CDraw.PCOLORS_FORECOLOR4; rowStyle.Font = new FONT("微软雅黑", 12, false, false, false); m_gridHosts.RowStyle = rowStyle; GridRowStyle alternateRowStyle = new GridRowStyle(); alternateRowStyle.BackColor = CDraw.PCOLORS_ALTERNATEROWCOLOR; alternateRowStyle.HoveredBackColor = CDraw.PCOLORS_HOVEREDROWCOLOR; alternateRowStyle.SelectedBackColor = CDraw.PCOLORS_SELECTEDROWCOLOR; alternateRowStyle.SelectedForeColor = CDraw.PCOLORS_FORECOLOR4; alternateRowStyle.Font = new FONT("微软雅黑", 12, false, false, false); m_gridHosts.AlternateRowStyle = alternateRowStyle; m_gridGroups = GetGrid("gridGroups"); m_gridGroups.RowStyle = rowStyle; m_gridGroups.AlternateRowStyle = alternateRowStyle; m_gridGroups.RegisterEvent(new GridCellMouseEvent(GridCellClick), EVENTID.GRIDCELLCLICK); RegisterEvents(m_mainDiv); //全节点服务器 if (DataCenter.IsFull) { DataCenter.UserID = DataCenter.HostInfo.m_localHost + ":" + CStr.ConvertIntToStr(DataCenter.HostInfo.m_localPort); DataCenter.UserName = DataCenter.UserID; Thread thread = new Thread(new ThreadStart(StartConnect)); thread.Start(); } else { UserCookie cookie = new UserCookie(); if (DataCenter.UserCookieService.GetCookie("USERINFO2", ref cookie) > 0) { String[] strs = cookie.m_value.Split(new String[] { "," }, StringSplitOptions.RemoveEmptyEntries); GetTextBox("txtPhone").Text = strs[0]; GetTextBox("txtUserName").Text = strs[1]; GetTextBox("txtPort").Text = strs[2]; } } m_chatGroups = ChatGroup.ReadGroups(); BindGroups(); }
/// <summary> /// 获取App功能 /// </summary> public void GetApps(List <UserAppsTable> type1List, List <UserAppsTable> type2List, List <UserAppsTable> type3List, List <UserAppsTable> type4List) { PADDING margin1 = new PADDING(5, 5, 5, 5); PADDING padding = new PADDING(5, 5, 5, 5); PADDING margin2 = new PADDING(5, 5, 5, 5); Dictionary <String, FoldSubMenuA> menuCaches = new Dictionary <String, FoldSubMenuA>(); if (type1List != null && type1List.Count > 0) { int num = type1List.Count; FoldSubMenuA menuItemAccount = new FoldSubMenuA(); m_foldMenu.AddSubMenu(menuItemAccount); menuItemAccount.Name = "TYPE1"; menuCaches[menuItemAccount.Name] = menuItemAccount; menuItemAccount.TitleLabel.Text = "员工管理(" + num + ")"; menuItemAccount.ShrinkButton.Text = "收缩"; menuItemAccount.ShrinkButton.Name = "shrink"; menuItemAccount.LayoutDiv.Margin = margin1; menuItemAccount.Padding = padding; menuItemAccount.Margin = margin2; menuItemAccount.TitleLabel.Size = new SIZE(150, 20); menuItemAccount.ShrinkButton.Size = new SIZE(80, 20); foreach (UserAppsTable userApp in type1List) { FoldMenuItemA menuButtonAddUser = new FoldMenuItemA(); menuButtonAddUser.Text = userApp.m_appName; menuButtonAddUser.Name = userApp.m_appID; menuButtonAddUser.BackImage = "file='images\\" + userApp.m_appID + ".jpg'"; menuButtonAddUser.Margin = margin2; menuItemAccount.LayoutDiv.AddControl(menuButtonAddUser); } } if (type2List != null && type2List.Count > 0) { int num = type2List.Count; FoldSubMenuA menuItemFundTrade = new FoldSubMenuA(); m_foldMenu.AddSubMenu(menuItemFundTrade); menuItemFundTrade.Name = "TYPE2"; menuCaches[menuItemFundTrade.Name] = menuItemFundTrade; menuItemFundTrade.TitleLabel.Text = "项目管理(" + num + ")"; menuItemFundTrade.ShrinkButton.Text = "收缩"; menuItemFundTrade.ShrinkButton.Name = "shrink"; menuItemFundTrade.LayoutDiv.Margin = margin1; menuItemFundTrade.Padding = padding; menuItemFundTrade.Margin = margin2; menuItemFundTrade.TitleLabel.Size = new SIZE(150, 20); menuItemFundTrade.ShrinkButton.Size = new SIZE(80, 20); foreach (UserAppsTable userApp in type2List) { FoldMenuItemA menuButtonAddUser = new FoldMenuItemA(); menuButtonAddUser.Text = userApp.m_appName; menuButtonAddUser.Name = userApp.m_appID; menuButtonAddUser.BackImage = "file='images\\" + userApp.m_appID + ".jpg'"; menuButtonAddUser.Margin = margin2; menuItemFundTrade.LayoutDiv.AddControl(menuButtonAddUser); } } if (type3List != null && type3List.Count > 0) { int num = type3List.Count; FoldSubMenuA menuItemSystem = new FoldSubMenuA(); menuItemSystem.Name = "TYPE3"; menuCaches[menuItemSystem.Name] = menuItemSystem; m_foldMenu.AddSubMenu(menuItemSystem); menuItemSystem.TitleLabel.Text = "个人管理(" + num + ")"; menuItemSystem.ShrinkButton.Text = "收缩"; menuItemSystem.ShrinkButton.Name = "shrink"; menuItemSystem.LayoutDiv.Margin = margin1; menuItemSystem.Padding = padding; menuItemSystem.Margin = margin2; menuItemSystem.TitleLabel.Size = new SIZE(150, 20); menuItemSystem.ShrinkButton.Size = new SIZE(80, 20); foreach (UserAppsTable userApp in type3List) { FoldMenuItemA menuButtonAddUser = new FoldMenuItemA(); menuButtonAddUser.Text = userApp.m_appName; menuButtonAddUser.Name = userApp.m_appID; menuButtonAddUser.BackImage = "file='images\\" + userApp.m_appID + ".jpg'"; menuButtonAddUser.Margin = margin2; menuItemSystem.LayoutDiv.AddControl(menuButtonAddUser); } } if (type4List != null && type4List.Count > 0) { int num = type4List.Count; FoldSubMenuA menuItemRisk = new FoldSubMenuA(); menuItemRisk.Name = "TYPE4"; menuCaches[menuItemRisk.Name] = menuItemRisk; m_foldMenu.AddSubMenu(menuItemRisk); menuItemRisk.TitleLabel.Text = "情报管理(" + num + ")"; menuItemRisk.ShrinkButton.Text = "收缩"; menuItemRisk.ShrinkButton.Name = "shrink"; menuItemRisk.LayoutDiv.Margin = margin1; menuItemRisk.Padding = padding; menuItemRisk.Margin = margin2; menuItemRisk.TitleLabel.Size = new SIZE(150, 20); menuItemRisk.ShrinkButton.Size = new SIZE(80, 20); foreach (UserAppsTable userApp in type4List) { FoldMenuItemA menuButtonAddUser = new FoldMenuItemA(); menuButtonAddUser.Text = userApp.m_appName; menuButtonAddUser.Name = userApp.m_appID; menuButtonAddUser.BackImage = "file='images\\" + userApp.m_appID + ".jpg'"; menuButtonAddUser.Margin = margin2; menuItemRisk.LayoutDiv.AddControl(menuButtonAddUser); } } //读取布局信息 UserCookie cookie = new UserCookie(); cookie.m_key = "MENULAYOUT" + DataCenter.UserID.ToString(); cookie.m_userID = DataCenter.UserID; if (DataCenter.UserCookieService.GetCookie(cookie.m_key, ref cookie) > 0) { String value = cookie.m_value; String[] strs = value.Split(new String[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); int strsSize = strs.Length; for (int i = 0; i < strsSize; i++) { String[] subStrs = strs[i].Split(new String[] { "," }, StringSplitOptions.RemoveEmptyEntries); String foldName = subStrs[0]; bool visible = subStrs[1] == "1"; if (menuCaches.ContainsKey(foldName)) { FoldSubMenuA foldSubMenu = menuCaches[foldName]; foldSubMenu.LayoutDiv.Visible = visible; int subStrsSize = subStrs.Length; int orderNum = 0; for (int j = 2; j < subStrsSize; j++) { List <ControlA> subControls = foldSubMenu.LayoutDiv.m_controls; int subControlsSize = subControls.Count; for (int m = 0; m < subControlsSize; m++) { ControlA subControl = subControls[m]; if (subControl.Name == subStrs[j]) { (subControl as FoldMenuItemA).OrderNum = orderNum; orderNum++; break; } } } foldSubMenu.LayoutDiv.m_controls.Sort(new FoldMenuItemOrderNumCompare()); } } } menuCaches.Clear(); m_foldMenu.Update(); Native.Update(); ControlPaintEvent paintLayoutEvent = new ControlPaintEvent(PaintLayoutDiv); m_foldMenu.RegisterEvent(paintLayoutEvent, EVENTID.PAINT); }