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

التحدي الكبير

مغلقرائج
بدأه ANSI في 3 يوليو 2005 · 178 رد · 15,970 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني الاعزاء .. لقد خطرت على بالي فكرة قد اكون صائبا في طرحها هنا وقد اكون خطاء .

الفكره :

الفكرة بسيط وفي غاية المتعه . وهي ان يقوم اي عضو بوضع اي فكرة برنامج بس يكون عرف جوابها

ويضعها امام الاعضاء للمنافسه في حلها .

ويجب ان تشمل كل المستويات ,. يعني السائل يقول هذا سؤال للمستوى المبتدئين .. او المتوسطين .. او الخبراء .. وطبعا كل واحد عارف مستوه .. العضو الخبير او المتوسط لا يقوم بحل سؤال المجه للمبتدئين او الخبير يقوم بحل سؤال المتوسطين .. لكن هنا المبتدا والمتوسط لهم الحق في محاولة ايجاد الجواب الخاص بالمتوسط والخبير ..

اخوني الغرض من هذه الفكرة ليست لمسالة تضييع وقت او ابراز عضلات القدرة ..وانما الفكره هنا هي تشغيل العقول واستنباط الافكار الراقده في رؤسينا . وفي نفس الوقت سيكون حل كبير لمعظم المشاكل التي نتلقاه او نلقيها يومينا في المنتدى واغلبيتها تكون مكرره لعدم تكليف النفس على البحث القليل داخل المنتدى والدروس السابقه الموضوعه فيه .

فما رائيكم اعزائي بهذه الفكرة ..

ملاحظة :

اي شخص يستطيع ادراج اي مسالة تحدي . وايضا لو يتم التفاعل من الخبراء ووضع اي افكار او

مسائل تحدي للاعضاء المبتدئين والمتوسطين كذالك يعمل المتوسطين للمبتدئين .

هذا والسلام عليكم ورحمة الله وبركاته

اخوكم ANSI

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#2

فكرة جيدة و خاصة أننا الآن في الصيف و أغلبنا متفرغ فلنفعل كباقي القنوات الفضائية التي تمتلأ بالمسابقات الفارغة و لتكن مسابقاتنا ذات معنى

فلتكن انت المفتتح لهذه العملية و لتضع لنا فكرة تشيب الراس هههههههههه

#3

شكرا على تفاعلك الجميل اخ crazy-man

الان سأبدء بالسؤال ..

سؤال للمبتدئين .

س / كيف تعمل للفورم STATUS BAR مكون من ( الوقت ... التاريخ ... المسار ) ولكن يجب ان تقوم بها برمجيا .. يعني عن طريق الاكواد؟

معلومه :

STATUS BAR يمكن ان يضاف للفورم بطريقتين .

الاولى عن طريق الخصائص

والثانيه عن طريق الاكواد ..

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

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#4

اكثر من 46 قرأه للموضوع ولا يوجد الا رد واحد ..

هل الموضوع تافه ولا يستتدعي الى ان يوضع له اي اهتمام ..

الامر في الاول والاخير متروك لكم .. لانه بدونكم لا يسوى شيئ :)

انا شخص مبتدا في البرمجه وحبيت ان اطور نفسي بهذه الطريقه .. وكما حبيت ان تطورون وان تنمو افكاركم ايضا ..

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

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#5

السلام عليكم ورحمة الله وبركاته ...

أنا أؤيدك الرأي أخي ANSI حيث أن مثل هذه المسابقات تنمي قدراتنا على الإبداع

سبحان الله وبحمده ... سبحان الله العظيم

#6

من الأفضل غلق أبواب التفاخر وان نسعى للعمل حقا للافادة

واذا ارت حقا الافادة فلماذا لا يضع كل واحد درس مفيد حسب المستوى

ودعونا من كثرة الكلام والاهداءات والتشكرات

#7

انا لا ادري اخواني لماذا كل واحد بحب يبتكر فكرة جديدة يقابل بالاحباط!!!!! :s

على العموم انا عجبتني الفكرة وبالفعل هي تبقي روح الحماس ( وسوف نرى من هو الانشط في هذا الموضوع)اما بالنسبة

لسؤال الاخ ال ANSI فهذا هو الجواب :

1. نختار اداة الاكتيف اكس Microsoft Common Controls 6.0 وذلك بالضغط على ctrl + t .

2. تظهر لنا بعض الاداوت داخل ال Tool Box نختار منها StatusBar.

3. يظهر لنا ال Status Bar على الفورم ويحتوي على جزأ واحد ولجعله يحتوي على عدة اجزاء نقوم بالتالي :

أ. نضغط بالزر الايمن للماوس على الStatus Bar .

ب. نذهب الى تبويب ال Panels وفي خانة ال Text نكتب الاسم ولاضافته نكبس على زر Insert Panel وهكذا اذا لردنا عمل المزيد.

4. نأتي الى مرحلة الكود قم باضافة الكود التالي الى حدث الفورم لود :

StatusBar1.Panels(1) = Time
StatusBar1.Panels(2) = Date
StatusBar1.Panels(3) = App.Path

ملاحظة (1) اذا اردت ان يظهر الوقت بشكل مستمر ضع السطر الاول من الكود داخل TIMER .

ملاحظة (2) اذا اردت زيادة مساحة ال Panel حاول ان تزيد خانة ال Minimum Width

الان سؤالي هو كيف تضيف ايقونات على ال Menu الخاصة ببرنامج الفيجوال ( اكواد او ادوات جاهزة )؟

تم تعديل هذه المشاركة بواسطة abu sabreen في 3 يوليو 2005 في 15:31

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#9

شكرا لكم جميعا ..

احسنت اخي abu sabreen

لكن لدي تعديلين بسيطين .

الاول ( غلط مطبعي) حيث اسم اداة الاكتيف اكس ينقصها windows

Microsoft windows common controls 6.0

اما الثاني .. فعند تطبيق كودك نحصل على خطاء والسبب هو انك نسيت وضع .Add وهو كما يلي :

StatusBar1.Panels.Add(1) = Time
StatusBar1.Panels.Add(2) = Date
StatusBar1.Panels.Add(3) = App.Path

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#10

السلام عليكم..

أخي Xpert2005

لا يوجد أي مجال للتفاخر..فبالإضافة إلي الدروس التي يضعها الأعضاء .. ليس هناك ما يمنع من وجود موضوع مثل هذا..لتزداد الخبرة,والمعرفة..

فقط لابد من مراعاة بعض النقاط منها..

* عدم ذكر كلمة (سؤال للمبتدئين) أو كلمة (سؤال للمحترفين),وذلك لأنه من الممكن أن يكون هناك أكثر من إجابة مختلفة للسؤال, بالتالي فالإفادة ستكون من جميع الأراء...

* التطرق لأسئلة جديدة ومهمة ((((((((ومفيدة)))))))) ,لكي يتم النهوض بالموضوع.

* المشاركة في الموضوع تقتصر إما علي وضع سؤال أو الإجابة علي سؤال.. حتي لا يتخطي الموضوع صفحات متعددة بدون داعي..

* إذا كان السائل لا يعرف إجابة السؤال فينبغي ذكر ذلك .. لأنني أعتقد أن أي عضو عنده سؤال لا يعرفه - وأنا أولهم - هيسأله هنا..

المهم أن أخي crazy-man يحضر الجوائز بسرعة ما دام جعل الموضوع يبقي مسابقة ;)

وربنا يوفق الجميع..

#11

هذه الملاحظات كنت اريد قولها من قبل اخي pharonic guy ممتاز

اما بالنسبة للاخ ANSI كلامك مزبوط ولكن انا وضعت هذا الكود على اساس ان المستخدم عمل عملية الاضافة يدويا.

اقتباس
الان سؤالي هو كيف تضيف ايقونات على ال Menu الخاصة ببرنامج الفيجوال ( اكواد او ادوات جاهزة )؟

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#12

لم استطع ايجاد الحل ... هلا اعطيتنا بعض الافكار التي تساعدنا على ايجاد الحل اخ abu sabreen.

تحياتي

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#14

كلام صحيح اخي Crazy Man ولكن ما لو تعمقتم في السؤال فستعرفون انني اقصد ال Menu الخاصة بالفيجوال بدون اضافة menu bar

للاسف اخي ال ANSI انا لا اعرف الطريقة!!

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#15

طيب انا وجدت برنامج صغير معمول جاهز من الانترنت

واظنه قام بالاجابه على سؤالك اخي abo sabreen لكني لم استطع من تفهم الطريقه وذلك لكوني مبتدا .

فما رائيك هل انزله هنا للاستفاده او هذا مخالف لشروط التحدي ....

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#16

مشكور أخوي ANSI على طرح الفكـرة

وبصراحه فكــرة حلــوة ،،،،

* سؤال هل من الممكن أن يسأل السائل سؤال لكــن لايعـرف الإجـابة ؟؟

تحياتي لك ،،

#17

اخي هذا الامر راجع لك لانك انت صاحب الموضوع

وبما انك وجدت الحل فلماذا لا ترفقه بغض النظر اذا كنت فاهم الكود ولا لا

المهم انك اول من استطاع الاتيان به

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#18

نعم يا برنس تستطيع ان تطرح اي سؤال سوى كنت تعرف الاجابه ام لا .. ولكن يجب عليك ان تحدد بقولك السؤال اعرف اجابته او السؤال لا اعرف اجابته ..

اما بالنسبه لاخي ابو صبرين .. الراي لنا جميعا وليس كوني صاحب الفكره اكون المسؤال عنكم .. انا وضعت الفكره بنية المشارك للكل . بارك الله فيك .. ساضع الجواب في المرفق ..

New_Folder.zip

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#19

كود جميل أخي ANSI

و انا سأقوم بوضع شرح مفصل للجزء الخاص باضافة صور الى ال MENU في هذا الكود ان شاء الله حتى تعم الفائدة ان شاء الله

و شكرا

#20

منتظر شرحك اخي الكريم .crazy-man.

ووين الاسئله شباب .. اين التحدي.. التحدي الكبير...

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#21

سؤال :

فلنفترض أنه عندنا ملف text يتم فتحه ببرنامج NotePad

هذا الملف اسمه text.txt .. (وغير معلوم مساره) ..

قمنا بكتابة أي كلام داخل هذا الملف ..

ونريد من خلال الفيجوال بيسيك أن نسترجع ما كتبناه داخل هذا الملف (وهو مفتوح) بطريقتين مختلفتين.

#22

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

كما وعدتكم ...

هنا سأقوم فقط بشرح الجزء الخاص باضافة الصور للبار نظرا لضيق الوقت <_<

أولا لنبدأ بشرح ال API's المستعملة في البرنامج ;)

Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long

هذا ال API كما يتضح من عنوانه يقوم بارجاع عدد الMenus الموجودة في نافذة معينة و فمثلا لو كان في نافذة معينة هناك 3 Menus الأول مثلا File ثم Options ثم About فهذه الدالة سترجع 2 حيث أن ال Index بتاع File=0

و البرامتر الذي يطلبه هو مقبض النافذة او الفورم المراد أخذ عدد ال Menus فيها

Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

يعني واضح من اسم الدالة أنها ترجع المقبض الخاص ب SubMenu ل Menu محدد الذي ندخل ال INdex الخاص به في البارامتر الأول hMenu أما nPos فيعني Index ال SubMenu

Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long

هذه الدالة تقوم بارجاع ال ID بتاع عنصر من عناصر ال Menu حيث أن البرامترز الخاصة بها مثل سابقتها

Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long

تقوم هذه الدالة برسم الصورة في ال Menu و بالنسبة للبرامترز

hMenu: تحدد في Index ال Menu الذي ستجري عيه التغييرات

nPosition : هنا تكتب ال Index الخاص بال SubMenu الذي تريد رسم الصورة فيه

wFlags : تكتب فيه 0

hBitmapUnchecked : تحدد فيه الصورة التي ستظهر اذا كان ال SubMenu Unchecked

hBitmapChecked : تحدد فيه الصورة التي ستظهر اذا كان ال SubMenu checked

Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long

هذه الدالة مثل الدالة الأولى GetMenu لكنها ترجع لنا عدد ال SubMenu في Menu أو حتى ال SubMenu الذي حددنا له ال Index الخاص به في البارامتر hMenu

هكذا نكون قد انتهينا من شرح دوال ال API اللازمة لرسم صور في ال Menu

الآن ننتقل الى شرح ال Function المسماة AddIcon

Public Function AddIcon(oImage As StdPicture, iMenu As Integer, iSubMenu As Integer) As Boolean
  1:   On Error GoTo ErrorHandle
  2:   Private oPics As Collection
  3:   AddIcon = True
  4:   oPics.Add oImage, "KEY" & iMenu & iSubMenu
  5:   Exit Function
  6:   ErrorHandle:
  7:   MsgBox Err.Description, vbCritical, "Easy Menu Images Error!"
  8:   AddIcon = False
  9:   End Function

هذه الفنكشن تأخذ 3 بارامترز الأول oImage و هو صورة و الثاني iMenu ثم iSubMenu

و قبل الخوض في شرح الفنكشن لنرى استعمال هذه الفنكشن كيف يكون

 AddIcon pic1.Picture, 1, 1

طبعا هنا أدخلنا الصورة التي نريدها و حددنا المكان الذي نريد أن نضعها فيه يعني في ال Menu رقم 1 و بالتحديد في ال SubMenu الأول

اذا الآن لنعود الى الفنكشن

في السطر رقم 2 قمنا بتعريف متغير من نوع Collection

السطر 4 نقوم باضافة معلومات الى المتغير oPics اللي هو عبارة عن Collection و هذه المعلومات هي الصورة ثم ال Key الخاص بهذه الصورة حتى نحصل عليها اذا ما احتجناها ( و سنحتاجها بكل تأكيد :D )

أظن ان هذين السطرين هما المهمين B)

الآن لننتقل الى ال function الأخيرة و هيCreateMenu

Public Function CreateMenu(lFormHandle As Long) As Boolean
1:    Dim x As Long
2:    Dim y As Long
3:    On Error GoTo ErrorHandle
4:    CreateMenu = True
5:
6:    lngMenu = GetMenu(lFormHandle)
7:    
8:    For x = 0 To GetMenuItemCount(lngMenu) - 1
9:
10:        lngSubMenu = GetSubMenu(lngMenu, x) '0 = error
11:        For y = 0 To GetMenuItemCount(lngSubMenu) - 1
12:            lngMenuItemID = GetMenuItemID(lngSubMenu, y) '-1 = error
13:            
14:            On Error Resume Next
15:            lngRet = SetMenuItemBitmaps(lngMenu, lngMenuItemID, 0, oPics.Item("KEY" & x + 1 & y + 1), oPics.Item("KEY" & x + 1 & y + 1))
16:            On Error GoTo 0
17:        Next
18:    Next
19:    Exit Function
20: ErrorHandle:
21:    MsgBox Err.Description, vbCritical, "Easy Menu Images Error!"
22:    CreateMenu = False
    End Function

هذه الفنكشن تأخذ بارامتر واحد و هو مقبض النافذة التي سنشتغل عليها

و قبل البدأ في الشرح نرى كيف تستعمل الفنكشن

CreateMenu Me.hwnd

اذا هنا نحدد مقبض النافذة الحالية

****** لنبدأ اذا في الشرح و تحديدا من السطر رقم 6 الذي كما نرى نستعمل فيه الدالة GetMenu اذا المتغير ستكون قيمته تساوي عدد Menu في النافذة

****** في السطر 8 نبدأ في حلقة تكرارية من الرقم 0 الى عدد ال Menu في الفورم يعني من أول Menu الى آخر واحد

****** بعدها نحصل على على عدد ال SubMenus لل Menu الأول (وذلك طبعا في الدورة الأول من الحلقة التكرارية ثم نستخرج عدد ال SubMenus لل Menu الثاني في الدورة الثاني و هكذا ...) و نضع العدد في المتغير lngSubMenu و كل ذلك في السطر 10

***** في السطر 11 نفتح حلقة تكرارية أخرى لكن هذه المرة سنمر على ال SubMenus حتى نرسم فيهم الصور طبعا و سنرى كيف يمكن ذلك

***** في السطر 12 نقوم بحفظ ال ID بتاعت ال SubMenu الاول مثلا في الحلقة الاولى ثم ال ID بتاع SubMenu الثاني في الحلقة الثانية و هكذا ...

***** نصل الآن الى السطر المهم السطر 15 الذي يقوم برسم الصور في ال Menu بالاستعانة بالدالة SetMenuItemBitmaps

و نرى أنه في أدخل أولا lngMenu الذي يساوي طبعا (لو فرضنا انها أول حلقة تكرارية ) 0 أي ال Menu الأول ثم بعد ذلك يدخل ال ID الخاصة بال SubMenu الذي سيرسم فيه الصورة بعد ذلك 0 ثم أخيرا اسم الصورة الذي يتم رسمها في حالة كانت ال SubMenu Unchecked و طبعا كما تلاحظون هذه الصورة تم استخراجها من ال Collection التي تم وضعها فيها في البدئ و ذلك عن طريق تحديد ال Key الخاص بالصورة و قد تم استعمال متغير في ال Key لأنه تم تسجيل الصور في ال Collection بطريقة متسلسلة :rolleyes:

تم بحمد الله

اتمنى أن يكون الشرح واضح واذا كان هناك أي استفسار المرجو اطلاعي به و أنا تحت أمركم :)

و السلام عليكم

#23

خبير عن جد... ما شاء الله تبارك الله من عين الحساد

احسنت اخي وزادها الله في سجل اعمالك .. وادخلك بها الجنه ان شاء الله ..

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#24

للمشاركة

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#25
اقتباس
****** لنبدأ اذا في الشرح و تحديدا من السطر رقم 6 الذي كما نرى نستعمل فيه الدالة GetMenu اذا المتغير ستكون قيمته تساوي عدد Menu في النافذة

****** في السطر 8 نبدأ في حلقة تكرارية من الرقم 0 الى عدد ال Menu في الفورم يعني من أول Menu الى آخر واحد

****** بعدها نحصل على على عدد ال SubMenus لل Menu الأول (وذلك طبعا في الدورة الأول من الحلقة التكرارية ثم نستخرج عدد ال SubMenus لل Menu الثاني في الدورة الثاني و هكذا ...) و نضع العدد في المتغير lngSubMenu و كل ذلك في السطر 10

***** في السطر 11 نفتح حلقة تكرارية أخرى لكن هذه المرة سنمر على ال SubMenus حتى نرسم فيهم الصور طبعا و سنرى كيف يمكن ذلك

***** في السطر 12 نقوم بحفظ ال ID بتاعت ال SubMenu الاول مثلا في الحلقة الاولى ثم ال ID بتاع SubMenu الثاني في الحلقة الثانية و هكذا ...

***** نصل الآن الى السطر المهم السطر 15 الذي يقوم برسم الصور في ال Menu بالاستعانة بالدالة SetMenuItemBitmaps

و نرى أنه في أدخل أولا lngMenu الذي يساوي طبعا (لو فرضنا انها أول حلقة تكرارية ) 0 أي ال Menu الأول ثم بعد ذلك يدخل ال ID الخاصة بال SubMenu الذي سيرسم فيه الصورة بعد ذلك 0 ثم أخيرا اسم الصورة الذي يتم رسمها في حالة كانت ال SubMenu Unchecked و طبعا كما تلاحظون هذه الصورة تم استخراجها من ال Collection التي تم وضعها فيها في البدئ و ذلك عن طريق تحديد ال Key الخاص بالصورة و قد تم استعمال متغير في ال Key لأنه تم تسجيل الصور في ال Collection بطريقة متسلسلة

الأخ المحترم crazy-man

يبدو أنه لديك التباس :unsure: :wacko: بالنسبة لما يعيده GetMenu GetSubMenu GetMenuItemID

GetMenu: يعيد مقبض القائمة (Handle) عن طريق تمرير مقبض الفورم

وليس ما يعيده هو عدد ال Menu في الفورم

GetSubMenu: يعيد مقبض القائمة الفرعية للقائمة عن طريق تمرير باراميترين: الأول هو مقبض القائمة (أي القيمة التي يعيدها GetMenu) والثاني هو ترتيب القائمة الفرعية التي نريد الحصول على مقبضها وهو كما ذكرت القائمة File مثلاً ترتيبها 0 والقائمة Edit ترتيبها 1 وهكذا....

وليس ما يعيده هو عدد القوائم الفرعية الموجودة في القائمة

GetMenuItemID: يعيد مقبض عنصر القائمة الفرعية يحتاج إلى باراميترين: الأول هو مقبض القائمة الفرعية التي يوجد فيها ال Item الذي نود الحصول على مقبضه والباراميتر الثاني هو ترتيب العنصر المراد في القائمة الفرعية وهو كما ذكرت يبدأ من الصفر بالنسبة للعنصر الأول و 1 للعنصر الثاني وهكذا...

لوضع صورة لعنصر ما في قائمة فرعية نستخدم كما ذكرت SetMenuItemBitmaps ونمرر له مقبض القائمة (أي القيمة التي يعيدها GetMenu) ثم مقبض عنصر القائمة الفرعية (أي القيمة التي يعيدها GetMenuItemID) ثم باقي البارميترات كما ذكرت.

أما ال GetMenuItemCount فهو الذي يعيد لك

إما:

عدد القوائم الفرعية في حال مررت له مقبض القائمة (أي القيمة التي يعيدها GetMenu)

أو:

عدد عناصر القائمة الفرعية في حال مررت له مقبض القائمة الفرعية (أي القيمة التي يعيدها GetSubMenu)

أرجو أن توافقني الرأي.

وشكراً...

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

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