Attaching Code with Menu Items. How?

Continue…

Visual Basic एक Event Driven Programming Language है। हम जब भी Computer के साथ किसी Action को Use करते हैं, कोई ना कोई Event Generate होता है। उदाहरण के लिए जब हम Mouse से Click करते हैं, तब Click Event Generate होता है। इसी तरह से जब हम Keyboard से किसी Key को Press करते हैं, तब Keypress Event Generate होता है। Visual Basic में Develop किए जाने वाले Application में हम विभिन्न प्रकार के कामों को पूरा करने के लिए इन्हीं Events को उपयोग में लेते हैं।

उदाहरण के लिए जब हम Menu के किसी Item पर Click करते हैं, तब Click Event Generate होता है। इस Event के Response में हमें जो भी काम करने होते हैं, उन कामों को हम एक Procedure में लिख लेते हैं। ये Procedure Event Procedure कहलाता है।

Visual Basic में जितने भी Controls होते हैं, उन Controls के नाम व हमारे जिस Action के Response में हमें कोई काम करवाना होता है, उस Event के नाम दोनों नामों को एक Underscore के Symbol द्वारा आपस में Connect करके एक Procedure Create किया जाता है। ये Procedure ही Event Procedure होता है।

जैसे यदि हम File Menu के New Option पर Click करते हैं, तो इस Generate होने वाले Click Event को Handle करने के लिए हमें जो भी Code लिखने होते हैं, वे Codes हमें mnuFileNew_Click() नाम के Procedure में लिखने होते हैं। ये Event Procedure File Menu के New Option पर Click करने पर Execute होता है, जिससे इसमें लिखे गए Codes Execute हो जाते हैं।

Visual Basic में हमें किसी भी Event Procedure को Create करने की जरूरत नहीं होती है। हम जब भी किसी Menu Item को Click करते हैं अथवा जब भी किसी Control को Double Click, तो उस Control व उससे Associated Default Event के Combination के Event Procedure का Header Automatically Create हो जाता है और हम Visual Basic के Code Editor Window में पहुंच जाते हैं, जहां हम Visual Basic Application के विभिन्न प्रकार के Runtime के Executable Codes विभिन्न प्रकार के Event Procedures में लिखते हैं।

Visual Basic के Code Window में लिखे जाने वाले विभिन्न प्रकार के Codes किसी ना किसी Event Procedure में ही लिखे जाते हैं। इस Code Window में दो Combo Box होते हैं। पहले Combo Box में Form पर स्थित विभिन्न प्रकार के Controls के नाम होते हैं, तथा दूसरे Combo Box में उस Control के साथ Use किए जा सकने वाले विभिन्न प्रकार के Events की जानकारी होती है। हम जिस Control के साथ जिस Event को Use करना चाहते हैं, उस Control व उससे Associated Event को Select करते ही Visual Basic स्वयं ही एक नया Event Procedure Create कर देता है, जिसे हम Code Window में देख सकते हैं।

Visual Basic में Menu Items के साथ केवल एक Click Event ही Associate हो सकता है, इसलिए विभिन्न Menu Items केवल Click Event को ही Response करते हैं और हमें जिस Menu Item पर Click करने पर जो काम करवाना होता है, उस काम को हम उस Menu Item से Associated Event Procedure में ही Define करते हैं। हमें जिस Menu Item के लिए Click Event को Handle करने वाला Event Handler Define करना होता है, उस Menu Item पर Single Click करते ही हम उस Menu Item के Click Event Handler में पहुंच जाते हैं, जहां हम उस Menu Item से सम्बंधित वे सारे काम Specify कर सकते हैं, जिन्हें हम Menu Item के Click होने पर पूरा करवाना चाहते हैं।

Dynamic Modification Of Menu Items

Visual Basic एक Object Based Programming Language है। इसमें विभिन्न कामों को करने के लिए हमें विभिन्न प्रकार के Visible अथवा Non-Visible Objects को Use करना होता है, जिन्हें हम Controls भी कहते हैं। जिस तरह दुनियां की हर वस्तु की कुछ ना कुछ विशेषता होती है, उसी तरह से Visual Basic के हर Control अथवा Object की भी अपनी कुछ विशेषताऐं होती हैं, जिन्हें Object या Control की Property कहा जाता है। ये Properties Object के Appearance से सम्बंधित होती हैं।

Visual Basic के विभिन्न प्रकार के Controls की विभिन्न प्रकार की Properties होती हैं। हर Object की कुछ एसी Properties होती हैं, जिन्हें केवल Program के Design Time में ही Control किया जा सकता है, तो कुछ Properties एसी होती हैं, जिन्हें केवल Program के Run Time में ही Control किया जा सकता है। कुछ Properties एसी भी होती हैं, जो Program के Design Time व Run Time दोनों स्थानों पर Changeable होती हैं।

जब हम किसी Menu Item को Program के Design Time में Create करते हैं, तब हम Menu Item की कुछ Property Settings जैसे कि Checked, Enabled, Visible आदि को Design Time में ही Define कर लेते हैं। एक बार इन Properties को Set कर दिए जाने के बाद हम इन Properties को Program के Run Time में भी Control कर सकते हैं। जब हम किसी Control की किसी Property को Program के Run Time में Control करते हैं, तब इस प्रक्रिया को Dynamic Modification कहा जाता है।

यदि हम हमारे पिछले बनाए गए Menu System के View Menu के Check Box को Control करना चाहें, तो हम ये काम निम्नानुसार Code द्वारा कर सकते हैं। इस Code में हम View Menu के Toolbar Option के आगे Check Box को Display कर रहे हैं।

Private Sub  mnuViewToolbar_Click()
mnuViewToolbar.Checked = True
End Sub

जब हम View Menu के Toolbar Option पर Click करते हैं, तब उपरोक्तानुसार mnuViewToolbar_Click() नाम का Event Procedure Create होता है। इस Event Procedure में हमने mnuViewToolbar Object की Checked Property को True कर दिया है। एसा करने के कारण जब हम इस Option पर Click करते हैं, तब ये Procedure Execute हो जाता है, और Form के View Menu के Toolbar नाम के Option के साथ हमें एक Check दिखाई देने लगता है। यदि इस एक Line के Code में हम थोडा सा परिवर्तन करके Code को निम्नानुसार Change कर दें, और फिर इस Menu Item पर Click करें, तो यदि Toolbar के साथ Check लगा होता है, तो वह Check हट जाता है और यदि इस Option के साथ Check लगा हुआ नहीं होता है, तो Check लग जाता है। ये Code निम्नानुसार हैः

Private Sub mnuViewToolbar_Click()
mnuViewToolbar.Checked = True = Not mnuViewToolbar.Checked = True
End Sub

चूंकि Menu Item की Checked Property Default रूप से True होती है, इसलिए उपरोक्त Define किए अनुसार Code को हम निम्नानुसार भी लिख कर सकते हैं:

Private Sub mnuViewToolbar_Click()
mnuViewToolbar.Checked = Not mnuViewToolbar.Checked
End Sub

जब ये Code Execute होता है, तब यदि mnuViewToolbar Object की Checked Property में True मान होता है, तो Not Operator उस मान का Opposite मान यानी False मान mnuViewToolbar के Checked Property में Assign कर देता है, जिससे Toolbar Menu Item के साथ दिखाई देने वाला Check Symbol Hide हो जाता है। लेकिन यदि Checked Property में False मान होता है, तो Not Operator की वजह से इस Property में True Store हो जाता है और Toolbar Option के साथ हमें एक Check Symbol दिखाई देने लगता है। इसी तरह से हम कुछ अन्य Menu Items की Properties को Set करने के लिए भी निम्नानुसार Codes लिख सकते हैं:

Private Sub Form_Load()
mnuFileOpen.Enabled = False
mnuViewStatus.Checked = True
mnuFormatBold.Checked = True
mnuPopup.Visible = False
End Sub

इन Code Lines द्वारा हम समझ सकते हैं कि हम Menu Design करते समय जिस तरह के Format का प्रयोग करके Menu के विभिन्न Items का नाम Specify करते हैं, उन नामों से Program को Code करते समय हमें काफी सुविधा हो जाती है। उदाहरण के लिए mnuFormatBold नाम का Menu Item Format Menu का एक Sub Menu Item है। इसी तरह से mnuFileOpen Menu Item Open Menu का एक Sub Menu Item है।

Adding Pop-Up Menu With Application

Popup Menu और एक Top Level Menu, दोनों प्रकार के Menu Create करने में किसी प्रकार का कोई अन्तर नहीं होता है। अन्तर केवल इतना होता है, कि Top Level Menu Items Click Event से Effect में आते हैं, जबकि Popup Menu Mouse Up Event से Effect में बाते हैं। Popup Menu को भी सामान्य Menu की तरह ही Menu Editor में Create किया जाता है, लेकिन इस Popup होने वाले Main Menu की Visible Property को False कर दिया जाता है, जिससे Popup का Main Menu Display नहीं होता है और चूंकि Main Popup Menu ही Display नहीं होता है, इसलिए इसके Sub Menu Items भी Application Window के Top में Display नहीं होते हैं।

लेकिन इस Main Menu के सभी Sub Menu Items Normal होते हैं, इसलिए जब हम Parent Form के PopupMenu Method Call करते हैं और उसमें Argument के रूप में किसी Popup Menu का नाम Pass करते हैं, तो Argument के रूप में Pass किए गए Popup Menu के सभी Sub Menu Items Form पर उस स्थान पर दिखाई देने लगते हैं, जहां हमने Mouse के Right Button को Click किया है।

हम जिस Form पर Menu को Menu Editor द्वारा Design करते हैं, उसी Form पर हम किसी Popup Menu को Show करवा सकते हैं। इसलिए यदि हमने Form1 नाम के Form पर कोई Popup Menu Design किया हो, तो हमें निम्नानुसार Statement लिखकर Popup Menu को Display करवाना होगाः

   Form1.PopupMenu mnuPopup

ये Statement Form1 नाम के Form पर बनाए गए mnuPopup नाम के Popup Menu को Show करने का काम करता है। सामान्यतया Popup Menu Application के किसी Specific Control अथवा किसी Specific Area से Related होता है। हम विभिन्न प्रकार के Popup Menus को Create करके उन्हें विभिन्न प्रकार के Application Area अथवा विभिन्न प्रकार के Controls के साथ Associate कर सकते हैं। Popup Menus को सामान्यतया Mouse के Right Button को Click करने पर Display करवाया जाता है।

Continue…

How to design Navigational Menu in Visual Basic 6?
How to Add Popup Menu on the Form? - Adding Popup Menu

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 GET DEMO REVIEWS