Masoud Milani
School of Computer Science
Florida International University
Miami, FL 33199 [email protected]
Windows Programming Using MFC and
Visual C++ .Net
Introduction
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 2
INTRODUCTION
� This course covers the fundamental concepts and techniques necessary to
write Windows-based interactive
programs
� We will use the Visual Studio, Visual
C++ .Net and Microsoft Foundation Classes to discuss the above concepts
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 3
INTRODUCTION
� Contents:
� Events and Event Handling
� Windows, Dialogs and Controls
� Menus and Toolbars
� Application Organization
� Document/View Architecture
� Printing and Print Preview
� Multi-Threaded Programming
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 4
REQUIREMENTS
� Working knowledge of C++
including:
� Classes
� Inheritance
� Virtual functions
� Late binding
� Template classes
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 5
COURSE RESOURCES
� Web address:
http://www.cs.fiu.edu/~milani/cop4226
Here you will find class notes, class presentations, assignments, class bulletin board, various announcements and dates and more
� Text Book:
I am not using any particular text book. There will be plenty of reading material on the course web site and MSDN libraries have an extensive set of online manuals
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 6
GRADING
� Exam1 30%
� Exam2 30%
� Programming and Homework
Assignments 40%
� 2-3 programs
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 7
COURSE OVERVIEW
� Introduction to Visual Studio
� Projects
� Views
� Wizards
� Different Application Types
� Resources
� Editors
� MSDN Library
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 8
COURSE OVERVIEW
� Introduction to Windows
� Kernel
� GDI
� User
� Window Classes
� Events and Messages
� Message Loop
� Window Procedures
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 9
COURSE OVERVIEW
� Microsoft Foundation Classes
� Message Boxes
� Controls
� Push Buttons
� Radio Buttons
� Check Boxes
� Slider Controls
� …
� Data Exchange
� Control States
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 10
COURSE OVERVIEW
� Multi Document Applications
� Application
� ChildFrame
� MainFrame
� Document
� View
� Menus
� Toolbars, Tooltips
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 11
COURSE OVERVIEW
� Graphical Device Interface
� Device Contexts
� Mapping Modes, Physical and Logical Coordinates
� Fonts
� Context Menus
� Property Sheets
� Printing and Print Preview
� Splash Screens
� Multi-Threaded Programming
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 12
VISUAL STUDIO
� The Visual Studio is an integrated environment for developing Windows
applications
� The programmer is provided with appropriate tools to view, modify and
edit different parts of the program
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 13
VISUAL STUDIO
� An application consists of many parts that together make up a project:
� Classes
� Resources
� Dialogs
� Menus
� Icons
� Toolbars
� …
� Parts of an application are stored in different files that are contained within a folder called the project workspace
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 14
APPLICATION TYPES
� Dialog Based Application
� The main window is a Dialog Box
� Performs a well defined task
� Calculator
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 15
APPLICATION TYPES
� Single Document Application
� Allows opening of only one document at any given time
� Notepad
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 16
APPLICATION TYPES
� Multiple Document Application
� Allows opening of more than one document at any given time
� Each document is displayed within a
Childframe which is in turn contained within the client area of the MainFrame
� Word
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 17
WIZARDS
� Wizards assist programmers by
� constructing a minimal application that is then enhanced by the programmer
� MFC AppWizard
� MFC Console Application
� …
� allowing the programmer to modify the
program in a fairly high level
� Class Wizard
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 18
WIZARDS
� AppWizard is a tool that based on user specifications, writes a minimal
Windows application using MFC
� Class Wizard is a tool that assists programmer write classes, add
members to classes and write event-handlers
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 19
CREATING A NEW PROJECT
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 20
FILE TYPES
File Types
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 21
PROJECT TYPES
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 22
MFC AppWizard
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 23
MFC AppWizard
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 24
VISUAL STUDIO
� Different parts of the Project are presented in different views:
� Class View
� Resource View
� Solution View
� Documentation is shown within MSDN (Contents)
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 25
BUILDING A PROJECT
� Building a project requires compiling all files that have been changed since last build and then linking them
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 26
CLASS VIEW
� Presents and allows the projects underlying classes
Classes and members
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 27
RESOURCE VIEW
� Presents and allows manipulation the project’s resources
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 28
SOLUTION VIEW
� Presents and allows direct manipulation of the project’s files (learn not to use it!)
Workspace files
Introduction to Windows Programming Using MFC and Visual C++ .Net Introduction 29
MSDN LIBRARY
� Presents various documentation