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

إدراج الاسماء في Menu

مغلق
بدأه محمدvb في 1 يناير 2007 · 3 رد · 617 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كل عام وأنتم بخير،،،

لدي سوال كيف أظهر محتوى حقل معين في قائمة Menu

ملف | تحرير | مساعدة

قائمة ملف متسلسل منها الأسماء والأسم الخاص بالــــ Menu هو ( AllName ) والحقل في الجدول ( Names )

فقط ما أريده هو كيف اعرض الاسماء في القائمة مع إمكانية الزيادة والنقصان ... أرجو أن السوال واضح ... تحياتي

#2

لأضافة عنصر بقائمة أثناء عمل البرنامج , أستخدم Append Menu , ودى API

#3

معليش اخي اشكرك لسرعة الرد ممكن توضح اكثر

#4

كثير من لغات البرمجة لا تدعم أضافة قوائم أثناء تشغيل البرنامج بأكواد داخلية و بالتالى وجب أستعمال APIs

لأنشاء عنصر فى قائمة أستخدم :

Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long

لأزالته :

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

مثال :

Const MF_CHECKED = &H8&
Const MF_APPEND = &H100&
Const TPM_LEFTALIGN = &H0&
Const MF_DISABLED = &H2&
Const MF_GRAYED = &H1&
Const MF_SEPARATOR = &H800&
Const MF_STRING = &H0&
Private Type POINTAPI
	x As Long
	y As Long
End Type
Private Declare Function CreatePopupMenu Lib "user32" () As Long
Private Declare Function TrackPopupMenu Lib "user32" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal x As Long, ByVal y As Long, ByVal nReserved As Long, ByVal hwnd As Long, ByVal lprc As Any) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Declare Function DestroyMenu Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Dim hMenu As Long
Private Sub Form_Load()
	'KPD-Team 1998
	'URL: http://www.allapi.net/
	'E-Mail: KPDTeam@Allapi.net
	'Create an empty popupmenu
	hMenu = CreatePopupMenu()
	'Append a few menu items
	AppendMenu hMenu, MF_STRING, ByVal 0&, "Hello !"
	AppendMenu hMenu, MF_GRAYED Or MF_DISABLED, ByVal 0&, "Testing ..."
	AppendMenu hMenu, MF_SEPARATOR, ByVal 0&, ByVal 0&
	AppendMenu hMenu, MF_CHECKED, ByVal 0&, "TrackPopupMenu"
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
	Dim Pt As POINTAPI
	'Get the position of the mouse cursor
	GetCursorPos Pt
	If Button = 1 Then
		'Show our popupmenu
		TrackPopupMenu hMenu, TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
	Else
		'Show our form's default popup menu
		TrackPopupMenu GetSystemMenu(Me.hwnd, False), TPM_LEFTALIGN, Pt.x, Pt.y, 0, Me.hwnd, ByVal 0&
	End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
	'Destroy our menu
	DestroyMenu hMenu
End Sub

فكرة أخرى بس المره دى بأكواد VB , أنشئ قائمة و حط فيها عنصر و أديله Index صفر , وبعدين ضيف عناصر بنفس فكرة الأضافة بتاعة الـ Control arrays

تم تعديل هذه المشاركة بواسطة msayed2004 في 1 يناير 2007 في 19:42

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

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