亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? menuitemex.cs

?? chaoshi guan li xitong
?? CS
?? 第 1 頁 / 共 2 頁
字號:
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Reflection;
using System.Resources;
using UtilityLibrary.Win32;
using UtilityLibrary.WinControls;
using UtilityLibrary.General;
using UtilityLibrary.CommandBars;

namespace UtilityLibrary.Menus
{
	/// <summary>
	/// Summary description for MenuItemEx.
	/// </summary>
	public class MenuItemEx : MenuItem
	{
		static ColorGroup group = ColorGroup.GetColorGroup();
		static Color bgColor  = group.bgColor;
		static Color stripeColor = group.stripeColor;
		static Color selectionColor  = group.selectionColor;
		static Color borderColor = group.borderColor;
		static Color darkSelectionColor = group.darkSelectionColor;
		
		static int iconSize = SystemInformation.SmallIconSize.Width + 5;
		static int itemHeight;
		static bool doColorUpdate = false;
		string shortcuttext = "";
		Bitmap icon = null;
		EventHandler clickHandler = null;
		
		// We could use an image list to associate
		// the menu items with an bitmap instead of
		// assigning a whole Bitmap object to the menu item
		ImageList imageList = null;
		int imageIndex = -1;


		static int BITMAP_SIZE = 16;
		static int STRIPE_WIDTH = iconSize + 2;
		protected static ImageList menuImages;
		static Color transparentColor = Color.FromArgb(192, 192, 192);
								
		static MenuItemEx()
		{
			// Initialize menu glyphs: checkmark and bullet
			menuImages = new ImageList();
			menuImages.ImageSize = new Size(BITMAP_SIZE, BITMAP_SIZE);
			Assembly thisAssembly = Assembly.GetAssembly(Type.GetType("UtilityLibrary.Menus.MenuItemEx"));
			ResourceManager rm = new ResourceManager("UtilityLibrary.Resources.ImagesMenu", thisAssembly);
			Bitmap glyphs = (Bitmap)rm.GetObject("Glyphs");
			glyphs.MakeTransparent(transparentColor);
			menuImages.Images.AddStrip(glyphs);
		}
		
		// constructors
		// ---------------------------------------------------
		public MenuItemEx() : this(null, null)
		{
		}	

		public MenuItemEx(string name, EventHandler handler, Shortcut shortcut) : this(name, handler)
		{
			Initialize(null, shortcut, handler, null, -1);
		}
		
		public MenuItemEx(string name, Bitmap icon, Shortcut shortcut, EventHandler handler) : this(name, handler)
		{
			Initialize(icon, shortcut, handler, null, -1);
		}

		public MenuItemEx(string name, ImageList imageList, int imageIndex, Shortcut shortcut, EventHandler handler) : this(name, handler)
		{
			Initialize(icon, shortcut, handler, imageList, imageIndex);
		}

		public MenuItemEx(string name, EventHandler handler) : base(name, handler)
		{
			Initialize(null, Shortcut.None, handler, null, -1);
		}

		private void Initialize(Bitmap bitmap, Shortcut shortcut, EventHandler handler, ImageList list, int imageIndex)
		{
			OwnerDraw = true;
			this.Shortcut = shortcut;
			icon = bitmap;
			clickHandler = handler;
			imageList = list;
			this.imageIndex = imageIndex;

		}

		static public MenuItem CloneMenu(MenuItemEx currentItem)
		{
			MenuItemEx clonedItem = new MenuItemEx(currentItem.Text, (Bitmap)currentItem.Icon, 
				(Shortcut)currentItem.Shortcut, currentItem.ClickHandler);
			// Preserve the enable and check state
			clonedItem.Enabled = currentItem.Enabled;
			clonedItem.Checked = currentItem.Checked;
			clonedItem.RadioCheck = currentItem.RadioCheck;

			foreach (MenuItemEx item in currentItem.MenuItems)
			{
				clonedItem.MenuItems.Add(CloneMenu(item));
			}
			return clonedItem;
		}

		public Bitmap Icon 
		{
			get 
			{
				return icon;
			}
			set 
			{
				icon = value;
			}
		}

		public string ShortcutText 
		{
			get 
			{
				return shortcuttext;
			}
			set 
			{
				shortcuttext = value;
			}
		}

		public Color TransparentColor
		{
			get 
			{
				return transparentColor;
			}
			set
			{
				transparentColor = value;
			}
		}

		public ImageList ImageList
		{
			set 
			{ 
				imageList = value; 
			}
			get { return imageList; }
		}

		public int ImageIndex
		{
			set { imageIndex = value; }
			get { return imageIndex;  }
		}

		public EventHandler ClickHandler
		{
			set { clickHandler = value;}
			get { return clickHandler; }
		}

		protected override void OnSelect(EventArgs e)
		{
			// This is to support popup menus when using this class
			// in conjunction with a toolbar that behaves like a menu
			Menu parent = Parent;
			while (!(parent is CommandBarMenu) &&   !(parent == null) )
			{
				if (parent is MenuItemEx)
					parent = (parent as MenuItemEx).Parent;
				else if (parent is MenuItem)
					parent = (parent as MenuItem).Parent;
				else if ( parent == Parent.GetMainMenu() )
					parent = null;
				else
					parent = null;
				
			}
				
			if ( parent is CommandBarMenu )
			{
				CommandBarMenu cbm = (CommandBarMenu)parent;
				cbm.SelectedMenuItem = this;
			}

			base.OnSelect(e);
		}

		static public void UpdateMenuColors(object sender, EventArgs e)
		{
			doColorUpdate = true;
		}

		static public void UpdateMenuColors()
		{
			doColorUpdate = true;
		}

		private void DoUpdateMenuColors()
		{
			ColorGroup group = ColorGroup.GetColorGroup();
			bgColor  = group.bgColor;
			stripeColor = group.stripeColor;
			selectionColor  = group.selectionColor;
			borderColor = group.borderColor;
			darkSelectionColor = group.darkSelectionColor;
			
			doColorUpdate = false;

		}
	            		
		// overrides
		// ---------------------------------------------------------
		protected override void OnMeasureItem(MeasureItemEventArgs e)
		{
			base.OnMeasureItem(e);
			
			// measure shortcut text
			if (Shortcut != Shortcut.None) 
			{
				string text = "";
				int    key  = (int)Shortcut;
				int    ch   = key & 0xFF;
				if (((int)Keys.Control & key) > 0)
					text += "Ctrl+";
				if (((int)Keys.Shift & key) > 0)
					text += "Shift+";
				if (((int)Keys.Alt & key) > 0)
					text += "Alt+";
				
				if (ch >= (int)Shortcut.F1 && ch <= (int)Shortcut.F12)
					text += "F" + (ch - (int)Shortcut.F1 + 1);
				else 
				{
					if ( Shortcut == Shortcut.Del) 
					{
						text += "Del";
					}
					else 
					{
						text += (char)ch;
					}
				}
				shortcuttext = text;
			} 
			
			if (Text == "-") 
			{
				e.ItemHeight = 8;
				e.ItemWidth  = 4;
				return;
			}
				
			bool topLevel = Parent == Parent.GetMainMenu();
			string tempShortcutText = shortcuttext;
			if ( topLevel ) 
			{
				tempShortcutText = "";
			}
			int textwidth = (int)(e.Graphics.MeasureString(Text + tempShortcutText, SystemInformation.MenuFont).Width);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久综合网站| 色94色欧美sute亚洲13| 日韩一区二区三区免费观看| 国产精品乱码人人做人人爱 | 欧美色倩网站大全免费| **欧美大码日韩| 色综合久久久久| 亚洲综合男人的天堂| 在线亚洲免费视频| 蜜臀av性久久久久蜜臀av麻豆| 欧美日韩一二区| 日韩av网站在线观看| 欧美第一区第二区| 狠狠色丁香婷综合久久| 欧美激情一区二区三区| 成人app网站| 亚洲天堂网中文字| 色婷婷亚洲婷婷| 日日夜夜精品视频免费| 欧美精品一区男女天堂| 成人avav影音| 亚洲高清久久久| 国产网红主播福利一区二区| 成人午夜碰碰视频| 亚洲成人精品在线观看| 7777精品伊人久久久大香线蕉| 青娱乐精品视频在线| 国产色91在线| 91网址在线看| 国产精品久久久久影院色老大| 在线观看视频欧美| 精品在线观看视频| 亚洲精品v日韩精品| 欧美性猛交xxxx黑人交| 另类综合日韩欧美亚洲| 国产精品午夜免费| va亚洲va日韩不卡在线观看| 亚洲精品久久嫩草网站秘色| 欧美成人女星排行榜| 成人免费观看av| 亚洲一区视频在线| 精品福利在线导航| 91亚洲大成网污www| 国产专区综合网| 亚洲三级在线看| 91精品国产福利在线观看 | 日韩欧美国产成人一区二区| 国产福利一区二区三区在线视频| 图片区小说区国产精品视频| 欧美精品一区在线观看| 在线观看亚洲专区| av午夜精品一区二区三区| 日本不卡一二三区黄网| 一区二区三区国产| 国产午夜精品理论片a级大结局| 欧美性一区二区| 99天天综合性| 精品一区二区影视| 日本视频在线一区| 亚洲天堂av一区| 久久色.com| 精品剧情v国产在线观看在线| 99精品一区二区三区| 日本视频免费一区| 亚洲精品国产品国语在线app| 欧美草草影院在线视频| 91麻豆精品国产91久久久久| 99久久精品国产观看| 久久爱www久久做| 五月综合激情日本mⅴ| 国产精品电影一区二区| 国产精品久久久久久久裸模| 日韩一级在线观看| 欧美猛男男办公室激情| 色综合久久久久| 99久久精品国产精品久久| 91小视频在线免费看| 岛国精品在线播放| 成人aaaa免费全部观看| 国产综合久久久久久鬼色| 一区二区免费在线播放| 一区二区三区在线播| 国产亚洲综合在线| 国产精品水嫩水嫩| 国产欧美一区二区三区在线看蜜臀 | 欧美日韩高清一区二区| 91福利视频久久久久| 99免费精品在线观看| 欧美在线免费视屏| 在线亚洲一区观看| 欧美一级黄色大片| 欧美日本韩国一区| 国产成人精品aa毛片| 东方欧美亚洲色图在线| 国产高清不卡一区| 日本道精品一区二区三区| bt欧美亚洲午夜电影天堂| 色综合一个色综合| 欧美综合天天夜夜久久| 欧美日韩一区二区在线观看视频| 欧美人妖巨大在线| 欧美一级免费大片| 国产调教视频一区| 国产精品入口麻豆九色| 亚洲综合小说图片| 亚洲成精国产精品女| 午夜日韩在线电影| 国产在线观看一区二区| 国产剧情一区在线| 91麻豆国产福利精品| 欧美性感一区二区三区| 91精品在线观看入口| 国产精品久久久久三级| 亚洲精品国产品国语在线app| 日韩精品一卡二卡三卡四卡无卡| 美女国产一区二区三区| 日韩电影网1区2区| 成人毛片在线观看| 在线观看亚洲一区| 国产亚洲一本大道中文在线| 国产精品久久久久久一区二区三区 | 精品国产成人在线影院| 亚洲欧美综合色| 五月激情综合网| 国产精品一区二区在线播放| 欧美唯美清纯偷拍| 精品国产制服丝袜高跟| 一区二区久久久久久| 免费看欧美美女黄的网站| 免费成人在线网站| 成人的网站免费观看| 在线视频你懂得一区二区三区| 欧美精品一区二区三区四区| 中文字幕一区二区5566日韩| 亚洲精品视频在线看| 精品一区二区三区免费| av激情综合网| 国产片一区二区| 亚洲gay无套男同| 97精品超碰一区二区三区| 欧美一区二区三区在线| 尤物视频一区二区| 国产成人精品aa毛片| 91免费版pro下载短视频| 国产欧美日韩综合| 日韩专区欧美专区| 欧美伊人精品成人久久综合97 | 国产一区二区美女| 91精品国产欧美一区二区成人| 国产精品盗摄一区二区三区| 五月婷婷综合网| 欧美探花视频资源| 中文字幕精品一区| 国产精品12区| 6080日韩午夜伦伦午夜伦| 亚洲资源在线观看| 粉嫩蜜臀av国产精品网站| 欧美精品日韩综合在线| 一区二区欧美国产| av电影一区二区| 亚洲欧美在线高清| 国产一区二区三区久久悠悠色av| 91精品国产色综合久久ai换脸 | 国产一区二区三区在线观看精品| 欧美日韩精品一区二区三区四区 | 欧美国产一区二区在线观看 | 亚洲午夜精品一区二区三区他趣| 丁香五精品蜜臀久久久久99网站| 久久久久久久久免费| 六月丁香婷婷久久| 精品国产一区久久| 久久精品国产99国产精品| 色偷偷一区二区三区| 中文字幕在线不卡一区| 国产成人精品影院| 国产精品丝袜在线| 成人免费视频一区| 亚洲欧美综合色| 成人av资源站| 亚洲女厕所小便bbb| aaa欧美色吧激情视频| 国产精品卡一卡二| 91久久精品一区二区三| 亚洲欧美国产三级| 欧美日韩国产另类不卡| 亚洲亚洲精品在线观看| 欧美日韩国产影片| 美日韩黄色大片| 色噜噜狠狠色综合欧洲selulu| 亚洲国产一区二区a毛片| 在线免费观看视频一区| 免费成人结看片| 欧美大片一区二区三区| 国产精品中文欧美| 中文字幕欧美激情一区| 欧美性做爰猛烈叫床潮| 日韩精品91亚洲二区在线观看 | 国产精品福利一区二区三区| 91久久免费观看| 久久99国产精品尤物|