How to Add/Delete Dynamic Menu Items in Runtime?

Visual Basic 6 in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Visual Basic 6 in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Visual Basic 6 in Hindi | Page: 175 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Runtime Menus Application के Runtime में उस समय Create होते हैं, जब उनकी जरूरत होती है। Runtime Menu Items Create करने के लिए हमें Menu का Control Array Create करना पडता है। Application के Runtime में Load Statement नया Menu Item Create करता है और Unload Statement किसी Menu Item को Delete करता है।

Creating Runtime Menu Items

Runtime Menu Item Create करने के लिए हमें तीन Steps को Follow करना पडता है। ये Steps निम्नानुसार हैं:

  • सबसे पहले हमें Menu Editor में उस Menu को Create करना होता है, जिसमें नए Sub Items को Application के Run Time में Add करना होता है। हमें जिस Sub Menu में नए Run Time Items को Add करना होता है, उसमें एक Sub Menu Item Create किया जाता है और उसे Control Array बना दिया जाता है। Control Array बनाने के लिए उस Sub Menu Item की Index Property में मान 0 लिख दिया जाता है, जिससे बनने वाला Item एक Control Array बन जाता है। Control Array एक एसा Array होता है, जो कि Visual Basic के किसी Control का Array होता है।
  • दूसरे Step में हमें Load Statement का प्रयोग करके Menu के Items को Application के Run Time में Load करना होता है। इस काम को हम निम्नानुसार Syntax द्वारा कर सकते हैं:

Load mnuRTMenuOption(1)

Menu Item का नाम Design Time में दिए गए उसी नाम पर ही आधारित होता है, जिसकी Index Property को हमने Set किया होता है। नया Menu Item Create करने के लिए हमें केवल उस नाम व एक Unique Index Number को Use करना होता है, जिसे Control Array में पहले Use ना किया गया हो।

जब Menu Item Load हो जाता है, उसके बाद हम उस Loaded नए Item को Access करने के लिए Menu के नाम व Index Value का प्रयोग कर सकते हैं। Menu Item के Load हो जाने के बाद हम Menu Item के साथ विभिन्न प्रकार की अन्य Run Time Properties को Set कर सकते हैं।

जब Menu Item को Program के Run Time में Create कर लिया जाता है, तब वह Menu Item Control Array का एक हिस्सा बन जाता है। जब हमें Runtime में Generate किए गए Menu के लिए Code लिखने होते हैं, तब Design Time में Create किए गए Menu के First Index Number को आधार के रूप में Use करना होता है।

जो Menu Item हमने Design Time में Create किया था, उसमें Click Event नाम का एक Extra Argument होता है। Index Argument किसी Control को Identify करने के लिए Use किया जाता है। Dynamic Menu Items के लिए हम निम्नानुसार Code लिख सकते हैं, जिसमें Code लिखने के लिए हमें Design Time में Create किए गए Menu Item के Click Event को Choose करना होता है। जब हम एसा करते हैं, तब हमें Code Window में निम्नानुसार एक Procedure Header प्राप्त हो जाता हैः

Private Sub mnuRTMenuOption_Click(Index As Integer)

End Sub

इस Procedure में Index नाम का एक Argument होता है। इस Argument में उस Menu Item के Index का Number होता है, जिसे Click किया जाता है। चूंकि हमारे Menu Items Runtime में Create हो रहे हैं, फिर भी Runtime में भी Create होने वाले हर Menu Item का एक Index Number होता है, इसलिए यदि हम Runtime में Create होने वाले किसी Menu Item पर भी Click करते हैं, तब भी उस Runtime में Created Menu Item का Index Number इस Index Argument में आता है। इसलिए हम Runtime में Create होने वाले Menu Item को भी इसी Procedure द्वारा Handle कर सकते हैं। इस Procedure में हम निम्नानुसार Code लिख सकते हैं, जो केवल एक Message Display करने का काम करता हैः

Private Sub mnuRTMenuOption_Click(Index As Integer)

Select Case Index
Case 0
 MsgBox "You have clicked the first menu item."
Case 1
 MsgBox "You have clicked the first Runtime menu item."
Case 2
 MsgBox "You have clicked the second Runtime menu item."
End Select
End Sub

Program के Run Time में दो नए Menu Items Create करने के लिए हम Form_Load Event Procedure में निम्नानुसार दो नए Menu Items को Load कर सकते हैं:

Private Sub Form_Load()

    Load mnuRTMenuOption(1)
    Load mnuRTMenuOption(2)

    mnuRTMenuOption(0).Caption = "First Menu Item Of Design Time "
    mnuRTMenuOption(1).Caption = "First Menu Item Or Runtime"
    mnuRTMenuOption(2).Caption = "Second Menu Item Or Runtime"
End Sub

केवल उन्हीं Menu Item को Runtime में Remove किया जा सकता है, जिन्हें Run Time में Create किया गया होता है, Design Time में Create किए गए Menu Items को Run Time में Remove नहीं किया जा सकता है। Runtime Menu Items को Remove करने के लिए हम दो तरीकों का प्रयोग कर सकते हैं। पहले तरीके में Menu Item की Visible Property को False करके Item को Invisible कर दिया जाता है। इस तरह का Item Invisible होने के बावजूद भी Memory में रहता है और उसकी Properties को Access किया जा सकता है। इस पहले तरीके को हम निम्नानुसार Use कर सकते हैं:

   mnuRTMenuOption(2).Visible = False

लेकिन यदि हम किसी Menu Item को Permanently Memory से Remove करना चाहते हैं, तो हमें उस Menu Item को Unload करना होता है। Menu Item को Unload करने के लिए हम निम्नानुसार Syntax का प्रयोग कर सकते हैं:

   Unload mnuRTMenuOption(2)

Unload Statement में केवल Runtime Control Names व Elements को ही Pass किया जा सकता है। यदि हम किसी Design Time Item को Unload Statement में Pass करते हैं, तो हमारे Application में Error Generate होता है।

How to use MouseUp Event properly? - The MouseUp Event Procedure
Adding Controls to Form in Runtime. How?

******

ये पोस्‍ट Useful लगा हो, तो Like कर दीजिए।

Visual Basic 6 in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Visual Basic 6 in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Visual Basic 6 in Hindi | Page: 175 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।