Introduction to Windows Programming Using MFC and Visual

Download Report

Transcript Introduction to Windows Programming Using MFC and Visual

Windows Programming Using MFC
and
Visual C++ .Net
Introduction
Masoud Milani
School of Computer Science
Florida International University
Miami, FL 33199
[email protected]
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
2
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
3
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
4
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
5
GRADING
 Exam1
30%
 Exam2
30%
 Programming and Homework
Assignments
40%
 2-3 programs
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
6
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
7
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
8
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
9
COURSE OVERVIEW
 Multi Document Applications
 Application
 ChildFrame
 MainFrame
 Document
 View
 Menus
 Toolbars, Tooltips
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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 eventhandlers
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
18
CREATING A NEW PROJECT
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
19
FILE TYPES
File Types
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
20
PROJECT TYPES
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
21
MFC AppWizard
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
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
24
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
25
CLASS VIEW
 Presents and allows the projects
underlying classes
Classes and members
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
26
RESOURCE VIEW
 Presents and allows
manipulation the
project’s resources
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
27
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
28
MSDN LIBRARY
 Presents various
documentation
Introduction to Windows Programming Using MFC and Visual C++ .Net
Introduction
29