Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
 public void Add(SystemMenuItem item)
 {
     this.Insert(this.Count, item);
 }