الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إضافة أوامر جديدة إلى قائمة النظام في النافذة

مغلق
بدأه TarekNajem04 في 10 ديسمبر 2005 · 1 رد · 535 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

هذا الكود منتشر كثير وأنا قمت بوضعه لتذكير والفائدة

10_12_05_10_09_35_1134238175SystemMenu.jpg

لنستطيع أن نفعل كما في الصورة

أولأً نستورد من وئائف النظام

        [DllImport("user32.dll")]
        private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
        [DllImport("user32.dll")]
        private static extern bool InsertMenu(IntPtr hMenu, Int32 wPosition, Int32 wFlags, Int32 wIDNewItem, string lpNewItem);

على ما أظن أن الأوامر سهلة وليست بحاجة إلى شرح مفصل

وللإضافة الأوامر نكتب كما يلي

            IntPtr SystemMenuHandle = GetSystemMenu(this.Handle, false);

            InsertMenu(SystemMenuHandle, 5, MF_BYPOSITION | MF_SEPARATOR, 0, string.Empty);
            InsertMenu(SystemMenuHandle, 6, MF_BYPOSITION, IDM_ARAB_TEAM_2000_SIT, "Arab Team 2000 Sit");
            InsertMenu(SystemMenuHandle, 7, MF_BYPOSITION, IDM_ABOUT, "About");

ثوابت البرنامج

        private const Int32 WM_SYSCOMMAND = 0x112;
        private const Int32 MF_SEPARATOR = 0x800;
        private const Int32 MF_BYPOSITION = 0x400;

        private const Int32 IDM_ARAB_TEAM_2000_SIT = 1000;
        private const Int32 IDM_ABOUT = 1001;

ولنستطيع أن نتفاعل مع الأوامر التي قمنا بإضافتها

        protected override void WndProc(ref Message m)
        {
            if (m.Msg == WM_SYSCOMMAND)
            {
                switch (m.WParam.ToInt32())
                {
                    case IDM_ARAB_TEAM_2000_SIT:
                        System.Diagnostics.Process.Start("/");
                        return;
                    case IDM_ABOUT:
                        About frmAbout = new About();
                        frmAbout.ShowDialog(this);
                        return;
                    default:
                        break;
                }
            }
            base.WndProc(ref m);
        }

أتمنى لكم التوفيق

SystemMenuSample.rar

لا تفعل إلا ما تستطيع أن تقوله ولا تقول إلا ما تسطيع أن تفعله

اللهم علمنا ما ينفعنا ونفعنا بما علمتنا وهب لنا من لدنك ولياً مرشدا

كلما أدبني الدهر أراني نقص عقلي ... وإذا ما زدت علماً زادني علماً بجهلي

أخوكم في الله أبو المجد

هيا نتعلم بعض المبادء لنطرق باب الإحتراف ************** جديد الدروس ( Application Domains and Assemblies)

التوقيت في دمشق:

<embed src="http://www.clocklink.com/clocks/0006-Gray.swf?TimeZone=R1T" width="200" height="240" wmode="transparent" type="application/x-shockwave-flash">

#2

رائع

كنت فين يا راجل من زمان

Sr. Software Development Engineer
Hulu, LLC
My Blogs

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…