PDA

View Full Version : سوال: اضافه کردن گزینه ی منو توسط کاربر



ali-a2
سه شنبه 20 تیر 1391, 13:56 عصر
با سلام

میخواستم بپریم راهی هست که کاربر خودش بتونه یک یا چند گزینه به منوی برنامه اضافه کنه ؟

setroyd
سه شنبه 20 تیر 1391, 15:02 عصر
بله به صورت data base میشه که در یک جا شما تعیین کنی منوها توسط اون به برنامه اضافه بشن البته کد نویسیش برای شما اگر مبتدی باشه راحت نیست و نیاز به کمک دوستان دارید .

the king
سه شنبه 20 تیر 1391, 17:21 عصر
با سلام

میخواستم بپریم راهی هست که کاربر خودش بتونه یک یا چند گزینه به منوی برنامه اضافه کنه ؟

خیلی ساده تر از اون چیزی است که میشه فکرش رو کرد، کنترل های ویژوال بیسیک یک خاصیتی دارند که وقتی
براشون اندیس تعریف بشه (Index داشته باشند) میشه با دستور Load بهشون عضو جدید اضافه کرد و با
دستور Unload عضو حذف کرد.

مثال می زنم، شما یک دکمه وسط فرم قرار دهید، در مشخصه های این دکمه Command1 یک مشخصه Index
هست، مقدار این مشخصه رو روی 0 تنظیم کنید، یعنی این اندیس 0 یک مجموعه از دکمه ها است که اسم
همه شون Command1 است و فرق شون در اندیس شونه. مثلا (Command1(0 و (Command1(1 و (Command1(2
حالا شما اگر کد زیر رو به فرم اضافه کنید، هر بار که دکمه رو فشار می دهید یک دکمه دیگه به فرم اضافه میشه :

Private Sub Command1_Click(Index As Integer)
Dim i As Integer
i = Command1.UBound + 1
Load Command1(i)
Command1(i).Top = Command1(i - 1).Top + Command1(i - 1).Height
Command1(i).Visible = True
End Sub


حالا همین کار رو در منو هم میشه انجام داد. اول شما یک منوی اصلی بسازید، مثلا File
بعد به این منو یک زیر منو اضافه کنید، مثلا با اسم MnuItem، عنوان اش (Caption اش) مهم نیست،
فقط مقدار Index اش رو روی 0 تنظیم کنید. با کد زیر یک زیر منوی دیگه به فرم اضافه میشه، زیر همون MnuItem

Dim i As Integer
i = MnuItem.UBound + 1
Load MnuItem(i)
MnuItem(i).Caption = "Item " + CStr(i)

می توانید Caption اش رو هر طور که مایل هستید تغییر دهید.