Chapter 4 Enhancing the Graphical User Interface Multiple Forms, Controls, and Menus 4 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, By Carlotta Eaton
Chapter 4Enhancing the Graphical User
Interface
Multiple Forms, Controls, and
Menus
4
Exploring Microsoft Visual Basic 6.0Copyright © 1999 Prentice-Hall, Inc.
By Carlotta Eaton
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 2
Objectives
1. How to design a good user interface2. Use Toolbox tools to create and modify
forms and controls3. Multiple Document Interface (MDI) vs.
Single Document Interface (SDI) vs. Explorer-style interface
4. Create input features such as text boxes, labels and command buttons
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 3
Objectives
5. Include graphics using picture box or image controls
6. Create a Graphical User Interface with menus
7. Include file management features using drive list boxes, directory list boxes and file list boxes
8. Include frames, check boxes, option buttons, combo boxes, and list boxes
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 4
Designing the GUI
Interface StylesMultiple Document Interface (MDI)Single Document Interface (SDI)Explorer-style interface
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 5
Multiple Document Interface
Parent Form
Child Form
Child Form
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 6
Single Document Interface
Independent Form
Independent Form
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 7
Explorer-style interface
Left pane browsing controls
Right pane detailed view
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 8
Five Principles of GUI Design
Principle 1: Know Your End UserPrinciple 2: Be ConsistentPrinciple 3: Show and Use Informative
Graphics and MessagesPrinciple 4: Keep It SimplePrinciple 5: Let the User Control the
Application
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 9
Principle 1: Know Your End User
Who is my audience?Will be used by children, adults or
both?What is reading level of users?If retired adults, use large font.Write down as much as you know
about your end user before beginning design.
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 10
Principle 2: Be Consistent
Use Windows Guidelines - Close button Windows standard fonts - Arial, Times
New Roman, and MS Sans Serif Establish font color and size, background
color, and foreground color Use menus and standard menu positions See Appendix D - Standard Menus for
Windows Applications
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 11
Principle 3: Show and Use Informative Graphics and
Messages
Show user, instead of tellingUse informative graphics, instead
of merely creative graphicsGraphics especially useful for
international applicationsGUI analogy - dashboard of carUse symbols, not words
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 12
Principle 4: Keep It Simple
KISS “Keep it simple sweetie”If interface looks difficult, it will be
hard to useUse several forms instead of a
single cluttered formGroup items, use tabbed formatSet default options for user
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 13
Principle 5: Let the User Control the Application
Conversation between computer and end user
Let end user decide tasks and orderProgrammer controls computer’s
responses to end user Visual Basic is event-driven so this
is relatively easy to achieve
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 14
Form Designer Grid
Twips - screen-independent unit
Pixels - picture elements, screen-dependent unit
See Appendix C - The Toolbox, Toolbars, and Controls
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 15
The Learning Arithmetic Project
Game to practice addition, subtraction, multiplication and division skills
Numbers from 0 to 9 Child in grade 3, 4 or 5 Give feedback to child Use Window
Calculator accessory as model
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 16
GUI Enhancement with the Learning Arithmetic Project
Hands-On Exercise 1 Use the Application Wizard Save your forms and project files Modify the Splash form Add the Calculator form Add the Bears form Write the Module code Run and test the project Debug your project Print your project and exit
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 17
The Toolbox
Intrinsic Controls - always included in the Toolbox
ActiveX Controls - separate files with ocx file extension
Insertable Objects - objects from another application such as a spreadsheet, or document
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 18
Intrinsic Controls
Text box
Picture box
Command button
Vertical scroll bar
Drive list
File list box
Line
Data
Option button
Pointer tool
List box
Label
Frame
Check box
Combo box
Horizontal scroll bar Timer
Directory list box
Shape
Image
OLE container
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 19
Get Input
Text box - text inputHorizontal Scroll bars - navigate choicesVertical Scroll bars - navigate choicesCheck box - more than one choiceOption buttons - mutually exclusive
choices
List box - 1 choice from list
Combo box - choose or type a choice
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 20
Get Input
Tabbed dialog - present many optionsMsgBox function - prompt user or display
messageInputBox function - present predefined
dialog boxesCommon dialog - display standard dialog
boxes such as Open, Save and PrintCustomized dialog box - create your own
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 21
Display Graphics
Image - use to create an icon command button, decorative images
Picture box - use to create a toolbarLine - draw a straight line segmentShape - draw a rectangle, square, ellipse,
or circleBackground Property - background
imageLoadPicture function - use at runtime
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 22
File System Controls
Drive list box - display list of disk drives
Directory list box - display list of folders (directories) and paths
File list box - display list of files
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 23
Miscellaneous Controls
Frame - use to group controls together
Timer - use to trigger simple animations or like a stopwatch
OLE container - use to link or embed objects from other applications
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 24
Data Access Controls
Data Control display, edit and update data from
existing databases uses same database engine that
powers Microsoft Access
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 25
Set Properties with Code
name.property = settingWhere
name is the name of the control or form
. (period) is required
property is the property to set or modify
= is required
setting is the setting of the property
Examples:imgWorld.Visible = True
txtName.Text = “Sarah”
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 26
Create the Icon Explorer Project using File System
ControlsHands-On Exercise 2
Create a new project Add the existing starter form Add a Splash form Add the Main module Modify the Main form Code the Main form Run and debug the project Add code to display icons Run and debug the new code Print your project and exit
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 27
Elements of a Menu
Menu bar
Menu title
Separator bar
Menu items
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 28
The Menu Editor
Menu title
Menu items
Separator bar
Menu control properties
Menu control list box
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 29
Setting Properties for Menu Commands
Name property - assigns the name used to refer to the menu control in your code
Enabled property - menu control appears dimmed (grayed out) when not enabled
Caption property - assigns the command to display on the menu bar or submenus
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 30
Menus and the Menu Editor
Access key - underlined keyboard alternative to a menu command - Press Alt + key
Shortcut key - assigned to most frequently used menu items - Press Ctrl + key
Separator Bar - divides menu items into logical groupings
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 31
Menu Design
Use short menu names, single wordUse unique menu items for each
menuGroup menus logicallyChoose a logical access key for
menu itemsChoose logical keyboard shortcuts
for most commonly used commands
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 32
Add Menus to the Learning Arithmetic
ProjectHands-On Exercise 3
Open the Learning Arithmetic project Save project files with a new name Add menu titles Add menu items Modify the About form Add the HowTo form and controls Add code to activate the menus Test the menus and forms
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 33
Summary ...
Design GUIs using 5 basic design principles1. Know your end user
2. Be consistent3. Use informative graphics and messages4. Keep it simple5. Let the user control the application
Design GUI on paper first
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 34
Summary
Add controls to forms using tools from the toolbox
Intrinsic controls are always in the toolbox
ActiveX controls and Insertable Objects can be added to the toolbox
Use the Menu Editor to add menusAdd code to activate the menus
Exploring MS Visual Basic 6
Copyright 1999 Prentice-Hall, Inc. 35
Practice with Visual Basic
1. Controls Demonstration Sample2. MDI vs. SDI Interface Style3. A Successful Windows Application4. Graphic Explorer Project5. My Calendar