VB chap 05

download VB chap 05

of 14

Transcript of VB chap 05

  • 7/31/2019 VB chap 05

    1/14

    KHEC II/II Visual Programming (BEG275CO) - 1 -

    CHAPTER FIVE

    5.0 ADVANCED INTERFACE DESIGNING CONTROLS:

    5.1 COMMON DIALOG CONTROL:

    The common dialog control provides the standard set of dialog boxes such as opening and saving files, setting

    print options and selecting controls and fonts. Common dialog control can be used in the application by adding itfrom components of project menu and selecting common dialog control 6.0 and setting its properties. Then a newobject is seen in the toolbox and this is added to the form for further processing. The dialog displayed by the

    control is determined by the methods of control. At run time the dialog box is displayed when the appropriate

    method is invoked. At design time the common dialog control is displayed as an icon in the form. It provides its

    services to the application but it doesn't need to be displayed on the form at runtime. The common dialog controallows displaying the following commonly used dialog boxes open, save as, color, font, print.

    Method Value Dialog displayed

    Showopen 1 Open

    Showsave 2 Save as

    Showcolor 3 Color

    Showfont 4 FontShowprinter 5 Print

    Showhelp 6 Invokes windows help

    5.1.1 FILE OPEN DIALOG:

    The open dialog box allows the user to specify a drives directory, a filename and a filename extension. At runtime when the user chooses a file and closes the dialog box the filename property is used to get the selected

    filename. To display the open dialog box

    Private sub cmdopen_click()

    Commondialog1.showopen

    Commondialog1.filter="all files (*.*) | *.*| text files (*.txt)|*.txt| batch files (*.bat)"Commondialog1.filterindex = 0End sub

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    2/14

    KHEC II/II Visual Programming (BEG275CO) - 2 -

    5.1.2 FILE SAVE AS DIALOG:

    This dialog displays a window for saving the file in appropriate directory of a certain drive.e.g.:

    commondialog1.filter="text files|*.txt| batch files |*.bat| INI files|*.INI"

    commondialog1.filterindex=1commondialog1.action=2 (or commondialog1.showsave)

    End sub

    5.1.3 COLOR DIALOG:This dialog allows the user to select a color from a palate or to create and select a custom color.To display color dialog box:

    Private sub commnad1_click()Commondialog1.showcolor

    Form1.backcolor=commondialog1.color

    End sub

    Font Dialog Box:

    This allows user to select a font by its size, color and style. Once user makes a selection in the font dialog box, the

    following properties contain the information about the user's selection.

    Property DeterminesColor Determines the selected color. To use this property you must first set the flag property

    (CdlCFEffects)

    FontBold Whether Bold was selected.

    FontItallic Whether italic was selected.

    FontStrikethru It's true if the strikethrough attribute is set.

    FontUnderline For underlined text

    FontName The selected font name

    FontSize Returns the selected font's size

    E.g.:

    Private sub command1_click()

    Commondialog1.flags=CdlCFBoth {sets the flag property. It can be either.CdlCFScreen Fonts (for Screen font)

    .CdlCFPrinter Fonts (for Printer font)

    .CdlCFBoth (for Both)}

    Commondialog1.showfont (display the font dialog box)

    Text1.font.name=commondialog1.fontname (sets text properties according to the users selection)Text1.font.sizename=commondialog1.fontsize

    Text1.font.bold=commondialog1.fontbold

    Text1.font.itallic=commondialog1.fontitallic

    Text1.font.underline=commondialog1.fontunderlineText1.Font.Strikethrou = CommonDialog1.FontStrikethru

    Text1.font.color=commondialog1.colorEnd sub

    Printer Dialog Box:

    This dialog allows user to specify how O/P should be printed. The user can specify a range of pages to be printed,a print quality, a no. of copies and so on. This dialog displays information about the currently installed printer.

    This dialog box only allows user to specify the way of data printing but never print the data. Necessary code is

    required for printing them.

    e.g.:

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    3/14

    KHEC II/II Visual Programming (BEG275CO) - 3 -

    private sub command1_click()

    dim startpage, endpage, numberofcopies' displays the print dialog box

    Commondialog1.showprinter

    'get user selected values from the dialog boxStartpage=commondialog1.frompage

    Endpage=commondialog1.topage

    Numberofcopies=commondialog1.copiesEnd sub

    5.1.4 Help Dialog:

    This dialog displays the help dialog box and allows to display the help file.e.g.:

    Private sub command1_click()

    Commondialog1.showhelpCommondialog1.helpfile="path"

    End sub

    5.2 WORKING WITH CONTROL ARRAYS:

    A control array is an array of controls i.e. a control array is a group of controls that share the same name and type.They also share the same event procedure. A control array has at least one element and can grow to as man

    elements as the system supports. The maximum index that can be used in the control array is 32767. Elements of

    the same control array have their own property settings and control arrays are used in menu control and option buton groupings.

    The advantages of using control with control arrays is that they need less resources than simply adding multiple

    controls of the same type to a form at design time. They are also useful if you want several controls to share code.At runtime, if the user creates a control, then that control must be member of a control array. With a control array,

    each new element inherits the common event procedure of the array.

    CREATING A CONTROL ARRAY:

    There are three ways of creating a control array at design time.i) By assigning the same name to more than one control.

    ii) By copying an existing control and then pasting it onto the form.iii) By setting the index property to a value that is not null.

    Adding and Removing a Control Array at Runtime:

    User can add and remove controls in a control array run time using the load and unload statements. However, thecontrol to be added must be an element of an existing control array. User must have created a control at design

    time with the index property set, preferably to 0. Then, at run time, user can use this syntax.

    Argument Description

    Object Name of the control to add or to delete from the control array

    Index % The control's index value in the array

    Draw the following design

    Private sub text1_gotfocus(index as integer)Text1(0).text="Ram"

    Text1(1).text="VB"

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    4/14

    KHEC II/II Visual Programming (BEG275CO) - 4 -

    Text1(2).text="9841454545"

    End sub

    5.3 CREATING MENUS FOR PROGRAM:

    VB provides a feature that increases the functionality of an application by adding the menu bar i.e. VB application

    can be enhanced by adding menus to it. It offers convenient and consistent way to group commands easy way forusers to access them. The menu bar appears below the title bar and it may contain one or many menus (titles).

    When a menu title is clicked, it displays the set of menu items under that title and its drop down. Each menu item

    corresponds to a menu control that is defined in a menu editor and performs a specific action.Once these menus are created they can be individually programmed to respond when selected. For designing themenu select from tool menu, the menu editor and design accordingly in the appeared window by giving

    appropriate name and caption with required access key or shortcut key.

    Menu Properties:

    Menus are controls whose appearance and behavior can be changed and manipulated through its properties. These

    properties are displayed constantly in the menu editor window itself and can be set at design time using the menueditor dialog box or at run time from within code.

    Property

    Name

    Description

    Caption The text of the menu that the user will see.

    Name The name that is used to code to refer to the menu item and to identify the event code for eachmenu item.

    Index Used to form menu control arrays. This is where more than one menu item has the same name

    property and a number in the indexed property is used to address each item.

    Shortcut The menu can be invoked either by clicking it with the mouse in a normal way or by pressing

    the shortcut key. For e.g. Ctrl+X for cut operation.

    Windowlist This is used in multiple document interface (MDI) applications. This property tells VB to

    display the captions of the child window in the menu item.

    Checked Setting it to true causes a tick or check mark to appear beside the menu item. This is best for lists

    of options.

    Enabled Setting it to true allows user to select the menu item. Setting it to false causes the menu item to

    appear the gray out i.e. user can't select it.

    Visible Setting it to true causes the menu item to be visible at run time, clearing the check box makes i

    visible

    Negotiate Controls where, if at all, the menu appears when dealing with embedded ActiveX objects

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    5/14

    KHEC II/II Visual Programming (BEG275CO) - 5 -

    Position

    Menu Separator:

    A separation bar is a line that is used to break the item into a logical sequence which is useful for obtaining clarity.Separators are just as easy to create as any other menu items. Simply enter the menu item's caption as the

    character dash (-) and a dummy name such as mnudash1 as the name property. VB automatically interprets a

    menu item with a dash line as a separator line i.e. caption as '-' and name as mnudash1.

    5.3.2 ADDING SHORTCUT AND ACCESS KEYS TO MENU ITEMS:Keyboard access to menu can be improved to menu controls by defining access keys and shortcut keys.

    ACCESS KEYS:

    Access keys allow the user to open a menu pressing the Alt key and typing designated letter. Once a menu is

    opened, the user can choose a control by pressing the letter assigned to it. For e.g. Alt +F for file menu. Access

    key assignments appear as an underlined letter in the menu controls caption.To assign an access key to a menu control in the menu editor.

    i) Select the menu item to which you want to assign an access key.

    ii) In the caption box type an ampersand (&) immediately in front of the letter that you want as the accesskey.

    SHORT CUT KEYS:

    Shortcut key run a menu item immediately when pressed. Frequently used menu items may be assigned akeyboard shortcut which provides a single set method of keyboard access, rather than a three step method of

    pressing Alt, menu title access character and the menu item access character. Shortcut key assignments include

    function key and control key combinations such as Ctrl+F, Ctrl+A, Ctrl+C etc. They appear on the menu to the

    right of the corresponding menu item.To assign a shortcut key to a menu item

    i) Open a menu editor.

    ii) Select the menu itemiii) Select the function key or key combination in the shortcut combo box.

    5.3.3 CREATING AND ACCESSING POP UP MENUS:

    A pop up menu is a floating menu that is displayed over a form independent of the menu bar. The class displayed

    in the pop up menu depends on where the pointer was located when the right mouse button was pressed. So, pop

    up menu are also called context menus. Pop up menus are used to provide an efficient method for accessingcommon contextual commands.

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    6/14

    KHEC II/II Visual Programming (BEG275CO) - 6 -

    To create a pop up menu, the same steps for creating the main menu in menu editor is followed with one extra step

    i.e. the pop-up menu should be hidden, so that it does not appear on the menu Bar. To hide the menu, set thevisible property of the top-level menu item to false. Any menu that has at least one menu item can be displayed at

    runtime as a pop up menu. To display a pop up menu the PopUpMenu method is used. This method uses the

    following way of declaration.

    Object.PopupMenu menuname [flags, x, y, boldcommand]

    E.g.:Private sub form_mouseup(Button as integer, shift as integer, x as single, y as single)If button=2 then

    Popupmenu mnufile

    End ifEnd sub

    i) Flag Arguments:

    These are used to further defining the location and behavior of a pop up menu.

    Location Constants Description

    VbPopupMenuLeftAlign Default. The specified X location defines the left edge of the pop-up menu.

    VbPopupMenuCenterAlign Pop-up menus is centered around the specified X location.VbPopupMenuRightAlign Specified X location defines the right of the pop-up menu.

    Behaviour Constant Description

    VbPopupMenuLeftButton Default. The pop-menu recognizes when the user clicks a menu item with the lef

    mouse button only.

    VbPopupMenuRightButton The pop-menu recognizes when the user clicks the menu item with either the righ

    or left mouse button.

    e.g.:

    Private sub command1_click()

    Dim xloc, yloc

    Xloc=scalewidth/2Yloc=scalewidth/2

    Popupmenu mnuedit,VBPopUpMenuCenterAlign(or Popupmenu mnuedit, VBPopUpMenuRightButton, xloc, yloc)

    End sub

    ii) X & Y Arguments:

    Used to specify the X-Y coordinates where the pop-menu will be displayed.

    iii) Bold Command Arguments:

    Used to specify the name of a menu control which must appear in bold in the pop-up menu. Only one menu

    control in the pop-up menu can be bold.

    5.3.4 MODIFYING MENUS AT RUN TIME:

    At design time menus you have created are displayed on the form when you close the menu editor. Choosing a

    menu item on the form displays the click event procedure for that menu control where the required coding iswritten. The menus created at design time can also respond dynamically, to runtime conditions. For e.g. if a menu

    item action becomes inappropriate at some point, then the programmer can prevent users from selecting that menu

    item by disabling it. Programmer can also design the application to use a checkmarks to indicate which of theseveral commands was last selected. For e.g. the font's menu item from the application displays a submenu with a

    check mark next to the last font size selected. Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    7/14

    KHEC II/II Visual Programming (BEG275CO) - 7 -

    Enabling & Disabling Menu Commands:

    E.g.

    mnufl(3).enabled=true/false (control array)

    mnufl.enabled=true/false

    Displaying a checkmark on a menu control:

    Using check property you can place a check mark on your menu.i) Tells the user the status of an on/off condition. Choosing the menu command alternatively adds and

    removes the check mark.

    ii) Indicate which of several modes is in effect. The settings menu of the text editor uses a check mark to

    indicate the current front size.

    Making a menu control invisible:

    E.g.:

    Mnflarray(0).visible=true/false

    Adding Menu Control at Runtime:

    A menu can grow at runtime. Control array is used to create a menu at runtime. For e.g. if have created a menu as

    mnflarray then this menu control is assigned a value for the index property at design time; it automaticallybecomes an element of control array even though no other elements have yet been created. When you create amnflarray(0), you actually create separator bar that is invisible at runtime. The first time a user opens a file at run

    time, the separator bar becomes visible, and the first file name is added to the menu. And each time you open a

    file at runtime, addition menu controls are loaded into the array, making the menu grow.

    5.4 WORKING WITH ACTIVEX CONTROLS (MICROSOFT WINDOWS COMMON CONTROLS):5.4.1 TREE VIEW CONTROL:

    A tree view control is used to display information within a tree hierarchy. A tree view is made up of nodes that arerelated to each other in some ways. Typically tree view control is used to display the headings in documents

    entries in an index, the files and directories in a disk etc. The tree view is added to the toolbox from selecting

    project menu and then from components selects the Microsoft windows common control 6.0 then it is placed onthe form for further operation.

    A tree view control displays a hierarchical list of node objects, each of which consists of a label and an optional

    bitmap. After creating a tree view control, one can add, remove, arrange and otherwise manipulate node objects by

    setting properties and invoking methods. Nodes can be expanded or collapsed to display or hide all child nodesaccording to the requirement. Three events, the collapse, expand and node click event also provide programming

    functionality.

    ADDING NEW ITEMS:

    The items or nodes on a tree view control are members of the nodes collection. The following is used to access the

    nodes collection.

    Treeview1.nodes

    The following are the methods and properties of the nodes collection

    Add Method: to add a new node to the nodes collectionCount Property: returns the member of nodes in the nodes collection

    Clear Method: to remove all the nodes from the collection

    Item Property: to retrieve a node specified by an index value or a key.Remove Method: to remove a node from the nodes collection.

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    8/14

    KHEC II/II Visual Programming (BEG275CO) - 8 -

    To add a new node with the add method then you must specify its position in the hierarchy, the node text, its key,

    an image that will be displayed in front of the node and an image that will be displayed when the node is selected.The syntax for add method is

    Node.add relative, relationship, key, text image, selected image

    Here first argument is the key of the node, under which a new node is placed. The second argument indicates the

    relationship between the node specified in first argument and new node, the fifth argument is the text of the node.

    Private sub cmdadd_click()Treeview1.nodes.add, , "FRUIT", "fruits"

    Treeview1.nodes.add, , "COLOR", "colors"

    Treeview1.nodes.add, , "SAPE", "shapes"Treeview1.linesytle=TVWRootlinesEnd sub

    Here the line style determines the appearance of the line that connects nodes in a tree. Line style can have two

    values, 0 (tvwtreelines) and 1 (tvwrootlines). If line style is 0 then there will be line connecting parents to childrenand children to each other. If line style is 1 there will be lines connecting the root nodes.

    Private sub cmdfrt_click()Treeview1.nodes.add "FRUIT", tvwchild, , "apple"

    Treeview1.nodes.add "FRUIT", tvwchild, , "grapes"

    Treeview1.nodes.add "FRUIT", tvwchild, , "pineapple"

    End subPrivate sub cmdclr_click()

    Treeview1.nodes.add "COLOR", tvwchild, , "red"

    Treeview1.nodes.add "COLOR", tvwchild, , "green"Treeview1.nodes.add "COLOR", tvwchild, , "blue"

    End sub

    Adding a parent property:

    As seen in the window explorer, the child nodes have tree lines in front of them, but their parents have the plus

    sign which indicates that a node has a child and can be expanded.

    E.g.: in above program

    Private sub cmdadd_click()Treeview1.nodes.add, , "SAMPLE","sample"

    (Displays all the nodes under a header called items)Treeview1.nodes.add " SAMPLE", tvwchild," FRUIT", "fruits"

    Treeview1.nodes.add " SAMPLE", tvwchild," COLOR", "colors"

    Treeview1.nodes.add " SAMPLE", tvwchild," SHAPE", "shapes"

    Here the first argument is the key of the parent node and their second argument add the first level items.

    Treeview1.nodes.item(" sample").expanded=true

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    9/14

    KHEC II/II Visual Programming (BEG275CO) - 9 -

    (for expanding the item node from code)5.4.2 TOOLBAR CONTROL:

    Toolbars provide the users an easy way to access the most commonly used functions of the program. A toolbar

    contains buttons that corresponds to items in an application menu providing a graphic interface for the user to

    access an application most frequently used functions and commands. A toolbar control and an image list controlare used to add a toolbar to the form. The image list control contains a collection of bitmaps for use by other

    controls and the toolbars control uses images from the image list control to display them on its button.

    Toolbar control is added in the toolbox from project menu and then selecting components and then selectsMicrosoft window common control 6.0.

    The toolbar enables programmer to create 6 different types buttons as

    i) Push button: works like command button i.e. 0-tbrdefault e.g. save button in word.

    ii) Check button: works in an on/off mode i.e. 1-tbrcheck e.g. bold in word.iii) Button group: work like option buttons i.e. 2-tbrbuttongroup e.g. alignment button in word.

    iv) Separator: create empty spaces i.e. 3-tbrseparator

    v) Place holder: create empty space allowing one to place other controls such as combo box i.e. 4-tbrplace holder e.g. font combo box in word.

    vi) Drop down buttons: when clicked offer the user a drop down menu of choices i.e. 5-tbrdropdown e.g

    add from location in VB.

    For e.g.i) Add image list control on the form. Then to add bitmap image to the control press the ellipsis (

    button of the custom property in the properties window.

    ii) Then from image tab add images and then click on insert picture button and then click on ok button.iii) Draw the toolbar control on the menu and set the toolbar's alignment to none, top, bottom, left, or right

    accordingly.

    iv) Right click on the tool bar control and choose properties.v) Then create buttons on the toolbar from buttons tab and then click on insert button command button.

    For each button specify the following properties as seen in above fig:

    Caption: this text is displayed beneath the picture on a button.

    Description: this text describes the button on the users when they invoke the customize toolbar dialogbox.

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    10/14

    KHEC II/II Visual Programming (BEG275CO) - 10 -

    Key: this property specifies a string that is used to identify the button in code.

    Image: this property specifies the index of the picture that you want to appear on the face of thebutton. It corresponds to the index of the picture in the imagelist control specified in the general tab

    Zero can be specified for the image property if you do not want a picture to appear on the button.

    Style: this property determines the type of button that you create.

    Tooltiptext: this text appears when the mouse pointer rests on the button. This text is displayed only if

    shoe tips property is set to true.

    Value: this property set or returns the current state of the button. A value of 0 indicates that the buttonis not pressed. A value of 1 indicates that the button is pressed.

    vi) Then insert button command is clicked to add the buttons and then press ok.

    For e.g.Place a toolbar and an image list on the form as shown below

    Then in follow the above mentioned procedures.

    To display the image on the button give the image no. the same value that is given while inserting the image onthe image list.

    Then double click on the toolbar and code as.

    Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Text3.Text = Val(Text1.Text) + Val(Text2.Text)

    End Sub

    This will display the sum of entered two nos.5.4.3 STATUS BAR CONTROL:

    A status bar is a control that is displayed at the bottom of an application window unless its alignment is mentionedand displays information about the current state of the application. The status bar control can display and update

    certain types of information automatically. Set the style property to display the following

    Keyboard status for the caps lock, num lock, insert and scroll lock keys.

    Date

    TimeThe status bar can also contain text and bitmaps so that the message can also be displayed from the application in

    the status bar by using text property.

    Draw the status bar on the form. The status bar spans

    i) The widths of its parent form and contain a single panel.A status bar is broken into panel objects each of which displays different types of information. The

    panel collection of the status bar contains all the panel objects. The appearance and purpose of

    each panel is determined by the style property of that panel.

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    11/14

    KHEC II/II Visual Programming (BEG275CO) - 11 -

    ii) Then right click on status bar and select properties. Then adjust the style and simple text properties o

    the status bar. These properties determine the appearance of the control at the runtime. The styleproperty can have one of the two values simple or normal.

    Simple: when the style property is simple, only one panel of the status bar is visible, and the text is

    displayed in the simple text property.

    Normal: the toolbar appears with multiple panels.

    Further control over the appearance of a status bar is done by setting properties from the panel tab for the propertypages like sbrtext(0), sbrcaps(1), sbrnum(2), sbrins(3), sbrscrl(4), sbrline(5), sbrdate(6) etc.

    The syntax for adding panels in the status bar using the add method at the runtime is

    Statusbar1.panels.add (index, key, text, style, picture)i.e.

    private sub form_load()

    statusbar1.panels.add 1 , , "sample text", sbrtextstatusbar1.panels.add , , , sbrnum

    end sub

    The syntax for removing a panel object isStautsbar1.panels.remove index

    i.e.

    private sub form _load()statusbar1.panels.add 1 , , "sample text", sbrtext

    statusbar1.panels.add , , , sbrnum

    statusbar1.panels.remove 1end sub5.4.5 IMAGE LIST CONTROL:

    The image list control is basically list of images but instead of storing only a single picture, the image list stores acollection of pictures. The image list control does not contain anything visible at run time; it is merely a storage

    area for the image.It is an ActiveX control that loads and stores group of images for use by other controls. The image list controlmaintains a series of images in its memory that other controls and quickly access at run time.

    i) Add the image list control on the form.

    ii) To add image to the control, press the ellipsis () button of the custom property in the properties

    window.iii) Then from images tab of appeared window add images and then click on insert picture button and click

    on ok.

    At runtime, image list can be accessed asImagelist1.add, , loadpicture("path")

    For e.g. place an imagelist and a timer on the form and code as

    Private Sub Form_Load()Call Randomize

    Timer1.Interval = 500

    End Sub

    Private Sub Timer1_Timer()

    Dim r As Integerr = Int(6 * Rnd()) + 1

    Form1.Refresh

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    12/14

    KHEC II/II Visual Programming (BEG275CO) - 12 -

    Call PaintPicture(ImageList1.ListImages(r).Picture, Rnd() * Width, Rnd() * Height)

    End Sub

    This will display the added images from the imagelist on the form randomly.5.4.4 PROGRESS BAR CONTROL:

    This control shows the progress of a lengthy operation by filling a rectangle with chunks from left to right. This

    control doesn't always indicate how many minutes or seconds it will take the computer to perform given task but it

    provides the visual feedback necessary to convince the user that their transaction has not ground to halt or lockedup the computer. This control has a range and a current position. Range represents the entire duration of operation

    and the current position represents the progress made towards completing the operations.

    Design the following interface and code as:

    Private sub cmdsm_click()

    Dim I as integer

    Progressbar1.min=0Progressbar1.max=10000

    Progressbar1.visible=true

    For i=0 to 10000Progressbar1.value=i

    Next i

    Progressbar1.visible=false

    Progressbar1.min=0Txtres.text=val(txtnm1.text)+val(txtnm2.text)

    End sub

    Private sub form_load()Progressbar1.visible=false

    End sub

    5.5 INTERFACE5.5.1 SINGLE DOCUMENT INTERFACE (SDI):

    The application that displays only one document at a time is called SDI. When an SDI application is executed, it

    can only display one document at a time. To edit multiple documents simultaneously user must execute anotherinstance of document. Application containing only one form with various objects in VB is the example of single

    document interface. A project in VB may contain no. of forms but these forms can be run one at a time while theothers can't be accessed at the same time, they remain unloaded.5.5.2 MULTIPLE DOCUMENT INTERFACE:

    When an application is designed, it might contain a no. of forms and each of these forms are displayed separately

    on the screen and moved, maximized or minimized separately from any other form. These forms can be organized

    as a group using MDI. The MDI is another class of the form object that allows us to open windows with in aparent container window. E.g. Microsoft word or excel have multiple document interface. An MDI application

    allows to display multiple documents at the same time with each document displayed in its own window.

    Document windows are contained in a parent window in application. Any application can have only one MDI

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    13/14

    KHEC II/II Visual Programming (BEG275CO) - 13 -

    form which contains all the application's child forms. At runtime, child forms are displayed within the interval

    area of the MDI form.

    Design time features of MDI child forms:

    At design time, child forms are not restricted to the area inside the parent form. You can add controls, set

    properties, write codes and design the features of child forms anywhere on the desktop. One can determinewhether a form is a child by examining the project window. The project window uses special icons to distinguish

    standard forms, MDI child forms and MDI parent forms.

    Run time features of MDI child forms: At run time all child forms are displayed within the parent forms internal area. The user can move and size

    child form only within the internal area of the parent form.

    When a child is minimized, its icon appears on the MDI parent form instead of users desktop.

    When the parent form is minimized the entire application is represented by a single icon when restored all

    forms are re-displayed as they were.

    When a child form is maximized its caption is combined with parents' forms caption and displayed in the

    parent title bar.

    By setting the 'autoshowchildren' property, one can display child forms automatically, when forms are loaded.

    New child forms can be created at runtime using a special form of the dim statement.

    The parent form 'activeform' property indicates which child form is currently active. The 'active controlproperty indicates which control on the active child form has focused.

    MDI form has all the properties similar to general form. So one can add picture, buttons on the form for easier

    accessing of the data in the application.

    The arrange command can be used to determine how the child forms and their icons are displayed.

    To create an MDI application, at least two forms are needed in the application. One is the parent or container form

    and the second is the child or the form contained with the parent. To have more than one type of child form youcan add further forms to the project. Only a single child form is required for the simple MDI projects.

    To create MDI form:

    From project menu, choose add MDI form.

    To create the application's child forms:From project menu, choose Add from to create a new form or open an existing form and set its MDIchild property

    to true.e.g.:

    i) Open VB in standard exe and change the caption of form to child form.

    ii) By right clicking on the forms folder in the project explorer add the MDI form by selecting Add MDI formdialog.

    iii) Change the caption of MDI to MDI parent.

    iv) Right click on project1 in the project explorer and select project1 properties from the pop up menu. Setthe startup object list to MDI form.

    v) Select the child form from project explorer and set the form's MDI child property to true in the project

    window. This will cause this form which is the child, to rest inside the MDI parent container.vi) Run and see the O/p.

    For example we have two child forms, out of which one is used to calculate the sum of entered two numbers and

    another form displays the upper case of entered lower case letters. These forms can be displayed in MDI form by

    following the above mentioned process. Beside this, menu can also be added on the MDI form as shown below.This program firstly displays two child forms on MDI form and selecting each from menu shows only the selected

    form on the MDI form.

    Compiled By: Er. SRB

  • 7/31/2019 VB chap 05

    14/14

    KHEC II/II Visual Programming (BEG275CO) - 14 -

    Code for child1 form

    Private Sub Cmdsm_Click()

    Text3.Text = Val(Text1.Text) + Val(Text2.Text)

    End SubPrivate Sub Cmdexit_Click()

    Unload Me

    End Sub

    Code for child2 form

    Private Sub Cmdconvr_Click()

    Text2.Text = UCase(Text1.Text)End Sub

    Private Sub Cmdexit_Click()

    Unload MeEnd Sub

    Code for MDI form

    Private Sub MDIForm_Load()child1.Show

    child2.Show

    End Sub

    Private Sub slch1_Click()

    child1.Showchild2.Visible = False

    End Sub

    Private Sub slch2_Click()

    child2.Showchild1.Visible = False

    End Sub

    Compiled By: Er. SRB