Prescription: PR75n Applications Programming for Microsoft Windows

Aim of Module To provide students who have already acquired significant programming skills, with the experience of programming in the Microsoft Windows environment.

Credits 14

Knowledge Assumed From PR610(PR210) Programming (Interactive)

Student Learning hours 140

Content Revised 2002

Prescription Expiry Date Nov 2007

Note This module may be awarded to a student for each language which is learnt to the required standard. The various modules will be identified by the last digit. The language name should be added to the end of the module title.


Level and Assessment Schedule
TopicsHighest
Skill Level
Suggested
Assessment
Percentage
1 Windows Architecture A 5
2 Events and Messages C 5
3 User Interface Controls A 15
4 Building a Window Programme A 10
5 Hardware Interfaces A 5
6 Graphics Interfaces A 10
7 Additional Topics A 10
8 Application programming P 40

100

LEARNING OUTCOMES

The Student Will
A1Learn how to use the Windows interface.
C2Gain an understanding of the way in which Windows uses events and messages to control the operation of a program or group of programs.
A3Understand the different window types and Window controls that are available and demonstrate their use.
A4Follow procedures to produce a sample program that combines different source and resource files together to produce an executable program.
A5Access the basic functions of the keyboard, mouse, printer, graphics and help interfaces and demonstrate their use.
A6Demonstrate the methods that are available that allow communication between applications.
A7Appreciate the broad issues that affect applications development in the windows environment
P8Design and implement at least one Windows application program

CONTENT

1Windows Architecture
> Mouse and keyboard control of Windows; moving, resizing, minimising, maximising etc.
> Mouse and keyboard control of Windows application controls; menus, list boxes. scrollbars etc.
> Program group maintenance for new and existing applications.
> Windows set-up of printer types, fonts, colour configurations and general environment parameters. The purpose and use of the INI configuration files.
top
2Events and Messages
> Compare the event driven Windows environment with the command prompt environment and the different ways the operating system and hardware interact. Examine the importance of a Windows application yielding control in a multitasking environment and the ways that this is achieved.
> Basic message structure for Windows. Refer to the basic components; system queue and the message loop, and messages such as WM-CHAR, WM-DESTROY, WM-QUIT.
> Categorise and discuss Windows events and messages.
> Examine the important Windows events and messages in detail and gain an understanding of how they interact.
top
3User Interface Controls
> Parent and child Windows and how they interact. Dialogue boxes (both modal and non-modal) and how to use them.
> Examine the purpose and operation of all of the standard window controls; menus, text boxes, labels, list boxes, combo boxes, option buttons, radio buttons, command buttons, icons and timers
> Examine a range of Windows applications in detail so that the way users interact with these controls can be understood.
> Examine the multiple document interface (MDI) and demonstrate its use.
top
4Building a Window Programme
> Use a resource tool to create a sample window that uses a range of controls such as list boxes, icons and menus. Use a resource compiler to create a resource file.
> Use a language and resource compiler to create an executable file. Detail the methods that are used with the Microsoft Windows SDK to achieve this.
> Examine the purpose and use of header files (windows.h or equivalent) and dynamic link libraries (DLL).
> Debug a Windows application by intercepting events.
top
5Hardware Interfaces
> Categorise the basic functions available for each type of interface; keyboard, mouse, printer, graphics.
> Demonstrate the control of output attributes such as fonts and colour palettes.
> Demonstrate the use of some of the important functions of the different interfaces with sample programs.
> Demonstrate the use of online application help and the features it offers the user. Appreciate the steps used to create the help file using rich text format (RTF or alternatively HTML) help document and help compiler.
top
6Graphics Interfaces
> Demonstrate the use of the clipboard for transferring text or graphics blocks between applications.
> Examine dynamic data exchange (DDE) and demonstrate its use. Describe the concept of the message passing protocol.
> Examine object linking and embedding (OLE) and discuss the improvements in document handling that this technology will allow.
top
7Additional Topics
> Suggested topics could include:
- Memory management considerations when moving a Windows application to another operating systems.
- Developments in Object Oriented Programming (OOP). This will include references to class libraries that interface to the Windows API interface.
- New development tools and languages.
- Application development with little or no 3GL programming. Use a real product and examine the advantages and limitations of this technique.
top
8Application programming
> Standard Windows programming techniques are to be used.
> Standard Windows user interface methods are to be used.
> The sample applications to use a broad range of Windows control types.
top
Note
Resources - Books
Microsoft Press, "Microsoft Windows Guide To Programming"
Microsoft Press, "Microsoft Windows Programmers Reference"
Microsoft Press, "Microsoft Windows Programming Tools"
> This documentation was supplied as part of the Microsoft Windows SDK documentation and is now available from Microsoft Press. These books are an excellent source of in depth information.
- Charles Petrold, "Programming Windows"
- "Computer Languages" magazine
- "PC Magazine"
- "Windows Developers' Magazine"
RESOURCES
> Most software products come with a comprehensive range of sample programs and on line context sensitive help.
- Microsoft Visual Basic
- A Windows language such as C++ or Delphi.