Call 644-6106,
ext. 107
or
e-mail
for course registration or more information |
|
Overview
- Win32 Application Programming is designed to give an in-depth,
low-level look at developing and debugging applications written for the Win32 programming
interface. The intent is to understand the underlying philosophy and methods of
direct API programming so that programmers can not only use system functions, but be more
adept at using higher level tools such as a C++ class library or an application generator.
-
- Upon completion of the course, students should be able to
- Develop basic Windows applications from scratch using direct
API calls in the C programming language.
- Register window classes and create windows.
- Handle Windows messages, both queued and non-queued.
- Be familiar with a variety of basic API calls to:
- Display a broad range of graphics, including drawings,
metafiles, and regions.
- Manipulate logical mappings of coordinates.
- Add and interact with scroll bars.
- Create child windows and child window controls.
- Implement idle-time processing.
- Respond to keyboard and mouse messages.
- Create Menu and Dialog resources.
- Read and write to files
- Create and synchronized multiple-threaded applications
- Implement basic Clipboard communication.
- Develop dynamically linked libraries.
-
Course prerequisites
C programming language proficiency.
-
Course outline
- Introduction To Windows Programming
- A Program's Development Files
- New Data Types & Hungarian Notation
- A Windows Program
- Program Entry Point
- Registering the Window Class
- Creating and Displaying the Window
- The Message Loop
- The Window Procedure
- Processing Messages
- Displaying Text
- The WM_PAINT Message
- Valid and Invalid Rectangles
- Device Contexts
- BeginPaint/EndPaint
- GetDC/ReleaseDC
- TextOut()
- Text Metrics
- System Metrics
- Scroll Bars
- Adding to a Window
- Range and Position
- Scroll Bar Messages
- PAINTSTRUCTs Invalid Rect
- The Graphics Device Interface (GDI)
- The Device Context
- Getting the Handle
- Getting Device Capabilities
- Saving and Restoring Contexts
- RGB Color
- Stock Pens
- User-Created Pens
- Selecting Objects
- Drawing Lines
- Background Colors, Modes, and ROP2s
- Bezier Splines
- Drawing Graphics
- Stock Brushes
- User-Created Brushes
- Drawing Filled Areas
- Rectangles and Ellipses
- Polygons and Polygon Filling Modes
- Regions
- Rectangles, Regions, and Clipping
- GDI Mapping Modes
- Device and Logical Coordinates
- The Viewport and the Window
- Text, Metric, English, Isotropic, and Anisotopic Modes
- Programs That Run During Dead Time
- PeekMessage()
- Metafiles
- In Memory
- Storing in a Disk File
- Enhanced Metafiles
- Keyboard Input
- Window Focus
- Keystroke Messages
- The wParam and lParam Parameters
- Virtual Keycodes
- Character Messages
- Shift States
- Sending Messages
- Mouse Input
- Client-Area Mouse Messages
- Simultaneous Shift Keys
- Double-Clicks
- Emulating the Mouse with the Keyboard
- Child Windows and Mouse Input
- Child Windows & Hit Testing
- Capturing The Mouse
- Changing the Cursor's Shape
- Child Window Controls
- Parent-Child Communications
- Buttons
- Push, Check, Radio, Group
- Checking and Enabling
- Changing Child Window Text
- Static Controls
- The Edit Class
- Styles
- Parent Notification Codes
- Messages to Edit Controls
- ListBox Controls
- Styles
- Parent Notification Codes
- Messages to ListBox Controls
- Up-Down Controls
- Styles
- Notifications
- Messages
- Visual Editing
- Compiling Resources
- Menus
- Menu Template
- Referencing Menus
- Menus and Messages
- Processing Menu Options
- Enabling and Checking Menu Items
- Dialog Boxes
- Dialog Box Template,
- Styles, Options, and Descriptions
- Dialog Box Procedure
- Invoking Modal Dialog Boxes
- Dialog Box Functions
- Message Boxes
- Common Dialog Boxes
- GetOpenFileName(), GetSaveFileName(), FindText(),
ReplaceText(), ChooseColor(), ChooseFont()
- Creating Multiple Threads
- Windows Functions
- C Run-time Library Functions
- Suspending Thread Execution
- Sleep( )
- Setting Thread Priorities
- Synchronization of Threads
- Critical Sections
- Mutexes
- Events
- Semaphores
- WaitForSingleObject( )
- Global Memory Functions
- Inter-Process Communication - The Clipboard
- Standard Formats
- Ownership
- Transferring Text, Bitmaps and Metafiles
- Multiple Data-type Items
- Delayed Rendering
- Private Data Formats
- Memory Mapped Files
- Pipes
- Dynamic Link Libraries
- Building DLL's
- DLL Entry and Exit Points
- Import Libraries
- Manual Loading at Run-time
- Resource-Only Libraries
|