public bool ProcMsg(IntPtr ptr) { uint ident = (uint)ptr.ToInt32(); for (int i = 0; i < this.items.Count; i++) { if (this.items[i] is SystemMenuItem) { SystemMenuItem smi = (SystemMenuItem)this.items[i]; if (smi.Ident == ident) { smi.Index = i; if (this.ItemClicked != null) { this.ItemClicked(null, smi); } return(true); } } } return(false); }
public void Insert(int index, SystemMenuItem item) { IntPtr ptr = GetSystemMenu(this.Owner.Handle, false); if (!ptr.Equals(IntPtr.Zero)) { this.items.Insert(index, item); item.Ident = this.ident++; InsertMenu(ptr, (uint)index, MenuFlags.MF_STRING | MenuFlags.MF_BYPOSITION, item.Ident, item.Text); SetMenuItemBitmaps(ptr, (uint)index, MenuFlags.MF_BYPOSITION, item.Image, IntPtr.Zero); if (this.Owner.IsHandleCreated) { DrawMenuBar(ptr); } } }
public void Add(SystemMenuItem item) { this.Insert(this.Count, item); }