// This example draws a simple menu that contains three text items. // The menu item is drawn at a size that is appropriate for the menu items // See the frmIconModMenu for a form that includes a menu with the option // for a custom color background well the use of icons. private void frmTextModMenu_Load(object sender, System.EventArgs e) { // Create the main menu item and add the subitems to the menu. mnuMain.MenuItems.Add("&Choose a Font"); string[] menuItemsText = new string[] { "&TimesnewRoman", "&Courier new", "&MS Sans Serif" }; MenuItem[] menuItems = new MenuItem[menuItemsText.Length]; int menuItemCount = (int)(menuItems.Length); EventHandler evOnClick = new EventHandler(MenuFaceNameOnClick); MeasureItemEventHandler evOnMeasure = new MeasureItemEventHandler(MenuFaceNameOnMeasureItem); DrawItemEventHandler evDrawItem = new DrawItemEventHandler(MenuFaceNameOnDrawItem); for (int i = 0; i < menuItemCount; i++) { menuItems[i] = new MenuItem(menuItemsText[i]); // Enables the firing of the OnMeasureItem and OnDrawnItem events. menuItems[i].OwnerDraw = true; // Add event handlers to each menu item for key events. menuItems[i].Click += new EventHandler(evOnClick); menuItems[i].MeasureItem += new MeasureItemEventHandler(evOnMeasure); menuItems[i].DrawItem += new DrawItemEventHandler(evDrawItem); } mnuMain.MenuItems[0].MenuItems.AddRange(menuItems); }
public OwnerDrawMenu() { Text = "Owner-Draw Menu"; // Top-level items Menu = new MainMenu(); Menu.MenuItems.Add("&Facename"); // Array of items on submenu string[] astrText = { "&Times New Roman", "&Arial", "&Courier New" }; MenuItem [] ami = new MenuItem[astrText.Length]; EventHandler ehOnClick = new EventHandler(MenuFacenameOnClick); MeasureItemEventHandler ehOnMeasureItem = new MeasureItemEventHandler(MenuFacenameOnMeasureItem); DrawItemEventHandler ehOnDrawItem = new DrawItemEventHandler(MenuFacenameOnDrawItem); for (int i = 0; i < ami.Length; i++) { ami[i] = new MenuItem(astrText[i]); ami[i].OwnerDraw = true; ami[i].RadioCheck = true; ami[i].Click += ehOnClick; ami[i].MeasureItem += ehOnMeasureItem; ami[i].DrawItem += ehOnDrawItem; } miFacename = ami[0]; miFacename.Checked = true; Menu.MenuItems[0].MenuItems.AddRange(ami); }
public MyInvisibleIndexes(ComboBoxEdit comboBox) { itemsChange = null; itemMeasure = null; contentList = new List <int>(); this.comboBox = comboBox; Init(); }
/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// measureitemeventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this MeasureItemEventHandler measureitemeventhandler, Object sender, MeasureItemEventArgs e, AsyncCallback callback) { if (measureitemeventhandler == null) { throw new ArgumentNullException("measureitemeventhandler"); } return(measureitemeventhandler.BeginInvoke(sender, e, callback, null)); }
protected virtual void OnMeasureItem(MeasureItemEventArgs e) { MeasureItemEventHandler eh = (MeasureItemEventHandler)(Events [MeasureItemEvent]); if (eh != null) { eh(this, e); } }
/// <summary> /// Initializes a new instance of the <see cref="MaterialComboBox"/> class. /// </summary> public MaterialComboBox() { SetStyle(ControlStyles.UserPaint, true); DropDownStyle = ComboBoxStyle.DropDownList; _ButtonArea = new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 2, ClientRectangle.Height + 2); _dropDownCheck.Interval = 10; _dropDownCheck.Tick += new EventHandler(dropDownCheck_Tick); MeasureItem += new MeasureItemEventHandler(CustMeasureItem); }
public StiMenuProvider() { diEventHandler = new DrawItemEventHandler(DrawItem); miEventHandler = new MeasureItemEventHandler(MeasureItem); this.font = new Font("Arial", 8); this.imageIndexes = new Hashtable(); this.imageLists = new Hashtable(); }
protected virtual void OnMeasureItem(MeasureItemEventArgs e) { MeasureItemEventHandler dlg = (MeasureItemEventHandler)Events[MeasureItemEvent]; if (dlg != null) { dlg(this, e); } }
protected virtual void OnMeasureItem(MeasureItemEventArgs e) { // Invoke the event handler. MeasureItemEventHandler handler = (MeasureItemEventHandler)(GetHandler(EventId.MeasureItem)); if (handler != null) { handler(this, e); } }
/// <summary> /// Constructor /// </summary> /// <param name="controller">Main Controller</param> /// <param name="plugin">Plugin</param> public PluginMenuItem(Controller controller, PluginWrapper plugin) : base(plugin.DisplayName()) { this.controller = controller; this.plugin = plugin; OwnerDraw = true; Click += new EventHandler(MenuOnClick); DrawItem += new DrawItemEventHandler(MenuOnDrawItem); MeasureItem += new MeasureItemEventHandler(MenuOnMeasureItem); }
/// <summary> /// Constructor /// </summary> /// <param name="controller">Main Controller</param> /// <param name="name">Menu Item Name</param> /// <param name="colorList">Color</param> public ColorMenuItem(Controller controller, string name, ColorList colorList) : base(name) { this.controller = controller; this.name = name; this.colorList = colorList; OwnerDraw = true; Click += new EventHandler(MenuOnClick); DrawItem += new DrawItemEventHandler(MenuOnDrawItem); MeasureItem += new MeasureItemEventHandler(MenuOnMeasureItem); }
public DropDownMenuButton() { Text = "Drop-Down Menu Button"; strText = "Drop-Down"; // Create bitmap for new button and add it to ImageList. tbar.ImageList.Images.Add(CreateBitmapButton(clrText)); // Create the menu for the button. ContextMenu menu = new ContextMenu(); EventHandler ehOnClick = new EventHandler(MenuColorOnClick); MeasureItemEventHandler ehOnMeasureItem = new MeasureItemEventHandler(MenuColorOnMeasureItem); DrawItemEventHandler ehOnDrawItem = new DrawItemEventHandler(MenuColorOnDrawItem); Color[] acolor = { Color.FromArgb(0x00, 0x00, 0x00), Color.FromArgb(0x00, 0x00, 0x80), Color.FromArgb(0x00, 0x80, 0x00), Color.FromArgb(0x00, 0x80, 0x80), Color.FromArgb(0x80, 0x00, 0x00), Color.FromArgb(0x80, 0x00, 0x80), Color.FromArgb(0x80, 0x80, 0x00), Color.FromArgb(0x80, 0x80, 0x80), Color.FromArgb(0xC0, 0xC0, 0xC0), Color.FromArgb(0x00, 0x00, 0xFF), Color.FromArgb(0x00, 0xFF, 0x00), Color.FromArgb(0x00, 0xFF, 0xFF), Color.FromArgb(0xFF, 0x00, 0x00), Color.FromArgb(0xFF, 0x00, 0xFF), Color.FromArgb(0xFF, 0xFF, 0x00), Color.FromArgb(0xFF, 0xFF, 0xFF) }; for (int i = 0; i < acolor.Length; i++) { MenuItemColor mic = new MenuItemColor(); mic.OwnerDraw = true; mic.Color = acolor[i]; mic.Click += ehOnClick; mic.MeasureItem += ehOnMeasureItem; mic.DrawItem += ehOnDrawItem; mic.Break = i % 4 == 0; menu.MenuItems.Add(mic); } // Finally, make the button itself. ToolBarButton tbarbtn = new ToolBarButton(); tbarbtn.ImageIndex = 4; tbarbtn.Style = ToolBarButtonStyle.DropDownButton; tbarbtn.DropDownMenu = menu; tbarbtn.ToolTipText = "Color"; tbar.Buttons.Add(tbarbtn); }
private MeasureItemEventHandler GetMeasureItemHandler() { FieldInfo info = typeof(ComboBox).GetField("EVENT_MEASUREITEM", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetField); MeasureItemEventHandler handler = (MeasureItemEventHandler)base.Events[info.GetValue(null)]; return(handler); }
/// <summary> /// Main constructor. /// </summary> public LevelListBox() { // Listen for some events MeasureItem += new MeasureItemEventHandler(measureItem); DrawItem += new DrawItemEventHandler(drawItem); Resize += new EventHandler(resize); KeyDown += new KeyEventHandler(keyDown); DoubleClick += new EventHandler(doubleClick); MouseDown += new MouseEventHandler(mouseDown); DrawMode = DrawMode.OwnerDrawVariable; _cachedWidth = ClientSize.Width; }
public XListbox() { DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; MeasureItem += new MeasureItemEventHandler(XListbox_MeasureItem); DrawItem += new DrawItemEventHandler(XListbox_DrawItem); this.FontChanged += new EventHandler(XListbox_FontChanged); Scale(new SizeF(scale_x.ToFloat(), scale_y.ToFloat())); FontTracker = new font_tracker(this.Font); SizeF szf = FontTracker.MeasureString(this.CreateGraphics(), "X", scale_x, scale_y); ItemHeight = (int)(scale_y * szf.Height); }
protected virtual void OnMeasureItem(MeasureItemEventArgs e) { if (!OwnerDraw) { return; } MeasureItemEventHandler eh = (MeasureItemEventHandler)(Events [MeasureItemEvent]); if (eh != null) { eh(this, e); } }
/// <summary> /// This function applies a customdark theme for the main menu of a form (not menu stirp!). This function is not included in the MakeAllDark function because every time this method is called a new item renderer is applied. Please only use the function once per window. /// </summary> /// <param name="frm">The form which contains the menu which should be changed.</param> public static void DarkMainMenu(Form frm) { MainMenu mnu = frm.Menu; if (mnu == null) { return; } frm.Menu = null; for (int i = 0; i < mnu.MenuItems.Count; i++) { MenuItem itm = mnu.MenuItems[i]; itm.OwnerDraw = true; MeasureItemEventHandler mi = new MeasureItemEventHandler(MeasureItem); DrawItemEventHandler di1 = null; DrawItemEventHandler di2 = new DrawItemEventHandler(DrawItem); if (i == mnu.MenuItems.Count - 1) { di1 = (s1, e1) => { Rectangle area = new Rectangle(e1.Bounds.X, e1.Bounds.Y, frm.ClientRectangle.Right, 19); e1.Graphics.FillRectangle(new SolidBrush(baseCol), area); e1.DrawBackground(); }; } else if (i == 0) { di1 = (s1, e1) => { if (frm.IsMdiContainer) { if (frm.ActiveMdiChild != null) { Rectangle area = new Rectangle(-100, e1.Bounds.Y, e1.Bounds.Width + 100, 19); e1.Graphics.FillRectangle(new SolidBrush(baseCol), area); e1.Graphics.DrawIcon(frm.ActiveMdiChild.Icon, new Rectangle(e1.Bounds.X - 16, e1.Bounds.Y, 16, 16)); } } }; } itm.MeasureItem += mi; itm.DrawItem += di1; itm.DrawItem += di2; } frm.Menu = mnu; }
/// <summary> /// Default constructor. /// </summary> public AllWebColorsComboBox() { //base.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.this_DrawItem); SetStyle(ControlStyles.UserPaint, true); base.DropDownStyle = ComboBoxStyle.DropDownList; base.DrawMode = DrawMode.OwnerDrawVariable; _ButtonArea = new Rectangle(ClientRectangle.X - 1, ClientRectangle.Y - 1, ClientRectangle.Width + 2, ClientRectangle.Height + 2); _dropDownCheck.Interval = 10; _dropDownCheck.Tick += new EventHandler(dropDownCheck_Tick); MeasureItem += new MeasureItemEventHandler(CustMeasureItem); DrawItems(); }
internal MenuItemData(MenuItem baseItem, MenuMerge mergeType, int mergeOrder, Shortcut shortcut, bool showShortcut, string caption, EventHandler onClick, EventHandler onPopup, EventHandler onSelect, DrawItemEventHandler onDrawItem, MeasureItemEventHandler onMeasureItem) { this.AddItem(baseItem); this.mergeType = mergeType; this.mergeOrder = mergeOrder; this.shortcut = shortcut; this.showShortcut = showShortcut; this.caption = (caption == null) ? "" : caption; this.onClick = onClick; this.onPopup = onPopup; this.onSelect = onSelect; this.onDrawItem = onDrawItem; this.onMeasureItem = onMeasureItem; this.version = 1; this.mnemonic = -1; }
private void Init() { if (comboBox != null) { if (itemsChange == null) { itemsChange = new CollectionChangeEventHandler(OnItemsChanged); comboBox.Properties.Items.CollectionChanged += itemsChange; } if (itemMeasure == null) { itemMeasure = new MeasureItemEventHandler(OnMeasureItem); comboBox.Properties.MeasureItem += itemMeasure; } } }
public MenuPainter(MainMenu menu) { this.menu = menu; this.imgndx = new Hashtable(); dieh = new DrawItemEventHandler(main_DrawItem); mieh = new MeasureItemEventHandler(main_MeasureItem); idieh = new DrawItemEventHandler(item_DrawItem); imieh = new MeasureItemEventHandler(item_MeasureItem); BoneSoft.Design.ColorBlender blender = new BoneSoft.Design.ColorBlender(7, SystemColors.Control, SystemColors.ControlDark); shadeone = new Pen(new SolidBrush(blender.Next()), 1f); shadetwo = new Pen(new SolidBrush(blender.Next()), 1f); shadethree = new Pen(new SolidBrush(blender.Next()), 1f); shadefour = new Pen(new SolidBrush(blender.Next()), 1f); #region Setup Hover Colors Based on SystemColors.Control Color ctrl = SystemColors.Control; int r = ctrl.R; int g = ctrl.G; int b = ctrl.B; //if (r < g || g < b || r - b > 30) { int rg = r - g; int gb = g - b; if (rg < 0) { rg = -rg; } if (gb < 0) { gb = -gb; } if (rg > 30 || gb > 30) { itemhoverborder = SystemColors.ControlDark; itemhoverbackhi = SystemColors.ControlLightLight; itemhoverbacklo = SystemColors.ControlLightLight; mainhoverborder = SystemColors.ControlDark; mainhoverbackhi = SystemColors.ControlLightLight; mainhoverbacklo = SystemColors.ControlLightLight; itemnormalcheckback = SystemColors.ControlLightLight; itemhovercheckback = SystemColors.ControlLight; } #endregion InitMenu(); }
protected override void OnMeasureItem(MeasureItemEventArgs e) { MeasureItemEventHandler handler = GetMeasureItemHandler(); if (handler == null) { base.OnMeasureItem(e); if (e.Index != -1) { Graphics g = e.Graphics; string str = Items[e.Index].ToString(); e.ItemWidth = (int)g.MeasureString(str, this.Font).Width + SystemInformation.HorizontalScrollBarThumbWidth + 10; } } else { handler(this, e); } }
public ListBoxWithIcons(ListBox Duplicate) { // Copy all events from Duplicate to here...bit of a hack. var eventsField = typeof(System.ComponentModel.Component).GetField("events", BindingFlags.NonPublic | BindingFlags.Instance); var eventHandlerList = eventsField.GetValue(Duplicate); eventsField.SetValue(this, eventHandlerList); DrawMode = DrawMode.OwnerDrawVariable; DrawItem += new DrawItemEventHandler(OnDrawItem); MeasureItem += new MeasureItemEventHandler(OnMeasureItem); Left = Duplicate.Left; Top = Duplicate.Top; Width = Duplicate.Width; Height = Duplicate.Height; Font = Duplicate.Font; for (int ii = 0; ii < Duplicate.Items.Count; ii++) { Items.Add(Duplicate.Items[ii]); } }
internal void RemoveItem(MenuItem item) { if (item == this.firstItem) { this.firstItem = item.nextLinkedItem; } else { MenuItem firstItem = this.firstItem; while (item != firstItem.nextLinkedItem) { firstItem = firstItem.nextLinkedItem; } firstItem.nextLinkedItem = item.nextLinkedItem; } item.nextLinkedItem = null; item.data = null; item.dataVersion = 0; if (item == this.baseItem) { this.baseItem = this.firstItem; } if (this.firstItem == null) { this.onClick = null; this.onPopup = null; this.onSelect = null; this.onDrawItem = null; this.onMeasureItem = null; if (this.cmd != null) { this.cmd.Dispose(); this.cmd = null; } } }
internal void RemoveItem(MenuItem item) { Debug.Assert(item.data == this, "bad item passed to MenuItemData.removeItem"); if (item == firstItem) { firstItem = item.nextLinkedItem; } else { MenuItem itemT; for (itemT = firstItem; item != itemT.nextLinkedItem;) itemT = itemT.nextLinkedItem; itemT.nextLinkedItem = item.nextLinkedItem; } item.nextLinkedItem = null; item.data = null; item.dataVersion = 0; if (item == baseItem) { baseItem = firstItem; } if (firstItem == null) { // No longer needed. Toss all references and the Command object. Debug.Assert(baseItem == null, "why isn't baseItem null?"); onClick = null; onPopup = null; onSelect = null; onDrawItem = null; onMeasureItem = null; if (cmd != null) { cmd.Dispose(); cmd = null; } } }
public ComboxBoxEx() { DrawItem += new DrawItemEventHandler(comboBox2_DrawItem); MeasureItem += new MeasureItemEventHandler(comboBox2_MeasureItem); SelectedIndexChanged += new EventHandler(comboBox2_SelectedIndexChanged); }
public ListBoxWithIcons() { DrawMode = DrawMode.OwnerDrawVariable; DrawItem += new DrawItemEventHandler(OnDrawItem); MeasureItem += new MeasureItemEventHandler(OnMeasureItem); }
internal void RemoveItem(MenuItem item) { if (item == this.firstItem) { this.firstItem = item.nextLinkedItem; } else { MenuItem firstItem = this.firstItem; while (item != firstItem.nextLinkedItem) { firstItem = firstItem.nextLinkedItem; } firstItem.nextLinkedItem = item.nextLinkedItem; } item.nextLinkedItem = null; item.data = null; item.dataVersion = 0; if (item == this.baseItem) { this.baseItem = this.firstItem; } if (this.firstItem == null) { this.onClick = null; this.onPopup = null; this.onSelect = null; this.onDrawItem = null; this.onMeasureItem = null; if (this.cmd != null) { this.cmd.Dispose(); this.cmd = null; } } }
internal MenuItemData(MenuItem baseItem, MenuMerge mergeType, int mergeOrder, Shortcut shortcut, bool showShortcut, string caption, EventHandler onClick, EventHandler onPopup, EventHandler onSelect, DrawItemEventHandler onDrawItem, MeasureItemEventHandler onMeasureItem) { this.AddItem(baseItem); this.mergeType = mergeType; this.mergeOrder = mergeOrder; this.shortcut = shortcut; this.showShortcut = showShortcut; this.caption = (caption == null) ? "" : caption; this.onClick = onClick; this.onPopup = onPopup; this.onSelect = onSelect; this.onDrawItem = onDrawItem; this.onMeasureItem = onMeasureItem; this.version = 1; this.mnemonic = -1; }