Example #1
0
        /// <summary>
        /// Add sub menu item on recursive
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="dt"></param>
        /// <remarks>
        /// Author:			Le Tien Phat. 
        /// Created date:	14/05/2011
        /// </remarks>
        private void AddSub(MDMenuItem parent, DataTable dt)
        {
            DataRow[] rows = dt.Select(string.Format("MENU_PID = {0}", parent.ID), MENU_ZORDER);
            if (rows.Length > 0)
            {
                MDMenuItem item;
                string folder = clsSystemConfig.IconFolder;
                string iconName = null;
                Size size = new Size(14, 14);
                foreach (DataRow row in rows)
                {
                    item = new MDMenuItem();
                    item.Font = parent.Font;
                    item.OwnerDraw = true;
                    item.Name = row[MENU_NAME].ToString();
                    iconName = row[ICON_NAME].ToString();
                    if (iconName.Length > 0)
                    {
                        string filename = folder + iconName;
                        if (File.Exists(filename))
                        {
                            try
                            {
                                Icon icon = new Icon(filename);
                                item.Icon = icon;
                            }
                            catch (Exception ex)
                            {
                                log.Error(ex.Message, ex);
                            }
                        }
                    }
                    if (item.Name == clsConstants.MENU_SEPARATE)
                    {
                        item.OwnerDraw = false;
                        item.Text = clsConstants.MINUS;
                        parent.MenuItems.Add(item);
                    }
                    else if (item.Name == clsConstants.MAXIMIZED)
                    {
                        item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());

                        parent.MenuItems.Add(item);
                        item.Checked = clsFormManager.Maximized;
                        item.Click += new EventHandler(MenuItem_OnClick);
                    }
                    else if (item.Name == clsConstants.SYSTEM_STYLE)
                    {
                        item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());

                        parent.MenuItems.Add(item);
                        item.Checked = clsStyleManager.SystemStyle;
                        item.Click += new EventHandler(MenuItem_OnClick);
                    }
                    else
                    {
                        item.ID = int.Parse(row[FORM_ID].ToString());
                        string formName = row[FORM_NAME].ToString();
                        if (formName.Length > 0)
                            item.FormName = AssemblyName + formName;
                        else
                            item.FormName = "";

                        item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());
                        parent.MenuItems.Add(item);
                        AddSub(item, dt);
                    }
                }
            }
            else
            {
                parent.Click += new EventHandler(MenuItem_OnClick);
            }
        }
Example #2
0
        /// <summary>
        /// Build dynamic menu
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        /// <remarks>
        /// Author:			Le Tien Phat. 
        /// Created date:	14/05/2011
        /// </remarks>
        private MainMenu BuildMenu(DataTable dt)
        {
            MainMenu mainMenu = new MainMenu();

            DataRow[]rows;
            rows = dt.Select("MENU_PID = 0", MENU_ZORDER);
            MDMenuItem item;
            Font font = this.Font;
            foreach(DataRow row in rows)
            {
                item = new MDMenuItem();

                item.ID = int.Parse(row[FORM_ID].ToString());
                item.Name = row[MENU_NAME].ToString();
                item.FormName = AssemblyName + row[FORM_NAME].ToString();
                item.Text = clsResources.GetTitle(frmMainName + row[MENU_NAME].ToString());
                item.Font = font;

                if(item.Name == clsConstants.MENU_WINDOWS)
                {
                    item.MdiList = true;
                }

                mainMenu.MenuItems.Add(item);
                AddSub(item, dt);
            }
            return mainMenu;
        }
Example #3
0
        /// <summary>
        /// Init title column header for Main Menu.
        /// </summary>
        /// <param name="frm"></param>
        /// <param name="control"></param>
        /// <remarks>
        /// Author:			PhatLT. FPTSS.
        /// Created date:	14/02/2011
        /// </remarks>
        public static void InitTitle(Form frm, MDMenuItem item)
        {
            if(frm == null || item == null)
                return;

            if(item.Name == clsConstants.MENU_SEPARATE)
                item.Text = clsConstants.MINUS;
            else
                item.Text = clsResources.GetTitle(frm.Name + "." + item.Name);

            foreach(MDMenuItem sub in item.MenuItems)
            {
                InitTitle(frm, sub);
            }
        }