Windows Programming Using MFC and Visual...

Post on 05-Feb-2018

247 views 5 download

Transcript of Windows Programming Using MFC and Visual...

Masoud Milani

School of Computer Science

Florida International University

Miami, FL 33199 milani@fiu.edu

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