VC ++ Unleashed

Windows is probably the most used word amongst all users of Computers. The launching of Microsoft’s Windows 95 and NT and the subsequent series of operating systems completely changed the perception and usage of computers. From being seen as a tool for scientific research, computers are now been looked upon as a basic and house hold requirement. From its inception, Windows has never ceased to amaze the users and the programmers. Contrary to UNIX (and Linux) it has the reputation of being easy for users but difficult for programmers. Programmers have variedly described Windows Programming as spectacular to weird, as fascinating to awkward and mind-boggling. In Windows programming learning never ends.

Earlier, most Windows programs were written in C. However, since last few years C++ has started replacing C as a professional Windows programmer’s language of choice. This is because the sheer complexity of Windows, coupled with the wide-ranging scope of Windows Application Programming Interface (API) is best handled with an object oriented approach and which better language can one think of to implement OOP than C++! C++ combined with the Microsoft Foundation Class (MFC) Library has made Windows programming much simpler.

It is needless to point out that without understanding the mechanics of Windows based programming and mastering MFC a career can never be dreamt in Widows Programming. It is equally important that you get exposed to the latest technologies like Internet, Multimedia Programming using DirectX, Component Programming and learn how to program them in Visual C++.

The following program of VC++ aims at exposing you to the myriads of Windows Programming with complete ease so that you can smoothly join the Big League of Programming.

  1. VC++ – FUNDAS


Module 1: Win32 API Programming

Basics of Win32 API Programming

  • The windows environment
  • Programming in DOS Vs. Windows
  • Windows programs
  • Static and Dynamic linking
  • Message Driven architecture
  • Win32 Programming environment
  • CPU Time
  • Structure of a Windows program

Structure of Windows Program

  • Data Types
  • Hungarian Naming Convention
  • Message Loop
  • Common API Functions
  • Commonly processed messages
  • Creating Resource

Text, Output, Font and Bitmaps

  • Character mode vs. Graphics Mode
  • Device Independence
  • Graphics Device Independence
  • Device Context
  • API functions working with Device Context
  • Device Context Setting
  • Windows RGB Color Model
  • Character set functions
  • Caret Management Functions
  • Keyboard message processing
  • Implementing keyboard interface
  • Fonts

Mouse Interactions and Stock Objects

  • User Interaction with mouse device
  • WM_MOUSEMOVE Messages
  • Client and Screen coordinates
  • Hello World application
  • Changing the mouse cursor
  • GDI Objects – Pen, Brush
  • Win32API drawing routine
  • Rubber band effect
  • Raster operation

Meta Files

  • Meta Files – Advantages/ Disadvantages
  • Meta File Functions
  • Writing into Metafile

Windows Controls

  • Need for Dialog Box
  • Types of Dialog Boxes
  • Creating Dialog Box
  • Working of a Dialog Box
  • Types of Controls in a Dialog Box

Dialog Box

  • Create Modal and Modeless Dialog Box
  • Sample Dialog Box Procedure
  • Create Button Controls
  • Create List Boxes
  • Notification Messages
Module 2: Programming with MFC

Introduction to MFC

  • Win32API and MFC Libraries
  • Visual C++ components used
  • Revisiting OOPs
  • CWinApp class
  • CFrameWnd class
  • Message Maps
  • Message Routing
  • CMenu class
  • Shortcut menus
  • User Interface classes

Device Context Manipulation

  • Conceptual Framework for Interactive Graphics
  • Device Contexts
  • GDI Objects
  • CPen, CBrush class
  • CClientDC, CMetaFile class
  • Hierarchy of a class in MFC

Mapping Models

  • Understand the coordinate system of windows
  • MM_TEXT mapping mode
  • MM_LOMETRIC mapping mode
  • Changing Viewport and Window origin

Working with Files

  • File classes in MFC
  • Reading and Writing a file

Dialog Boxes with MFC

  • The CDialog class
  • Modal and Modeless Dialog Box
  • Processing Dialog Box messages

Common Dialog Box Library

  • Using Common Control in a Dialog box
  • Common Dialog Library
  • CFile Dialog Box
  • CColor Dialog Box
  • Font Dialog Box
  • Print Dialog Box
  • Find and Replace Dialog Box

Working with Control Bars

  • Control Bars
  • Tool Bars
  • Status Bars
  • Progress Bars
  • Property sheet and property pages
  • Using CTabCtrl Class
  • Creating Tab Control
  • Writing Programs in Document View
  • CDocument Class
  • Creating a new document
  • Modifying the document
  • Storing a Document
  • Closing a Document
  • Loading a Document
  • CView class
  • CSingleDoc Templat

Creating Documents Using CEditView

  • Files Generated by AppWizard
  • AppWizard Generated Application
  • CEditView Class
  • Creating SDI Application

Dialog Data Exchange

  • Using ClassWizard to Create Dialog Box Class
  • DDX and DDV mechanism
  • UpdateData Function
  • Message Processing and Handles

Using CFormView

  • CFormView Class
  • Avoiding Infinite Loops
  • Processing Notification Messages

Multiple Document Interface

  • Windows MDI Application
  • Relationship Between MFC Objects
  • Creating MDI Application


  • Process
  • Thread
  • How Win32 Views Processed and Threads
  • Types of thread
  • Functioning of Threads
  • Creating User-interface Threads
  • Terminating Threads

Exception Handling

  • Exceptions
  • When to Use Exceptions
  • MFC Exception Support
  • ASSERT Macro
  • TRACE Macro
  • DEBUG_NEW Macro
  • CMemoryState Class

Database Management using ODBC

  • Database Operation
  • Database Management with ODBC
  • Features with ODBC
  • ODBC Interface,s tandards and Architecture
  • Data Source
  • ODBC Classes of MFC
  • Selecting and manipulating records
  • Displaying and manipulating data in a form
  • RFX Mechanism
  • Form Database to Recordview – the complete picture
  • Connecting to the data source
  • GetDefaultSQL function
  • Snapshots and dynasets
  • Initializing a CRecordset object
  • CRecordView class
  • Browsing records through a Record view
  • Adding/ modifying / deleting records to/from the database
Module – 3: Programming Using AppWizard
  • MFC Collection Classes
  • GDI: Pens, Brushes, Bitmaps, etc.
  • Icons, Colored & Animated Cursors
  • Mapping Modes
  • Menus, Toolbars, Rebars & Coolbars
  • Status Bars
  • Dialogs & Controls
  • Data Exchange mechanism
  • MFC Internals
  • Document view architecture
  • SDI, MDI & Splitter Windows
  • Serialization
  • Views
  • Multithreading & Synchronization
Module – 4: Creating Applications
  • Creating a screen saver
  • Create your own theme
  • A Tic Tact Toe Game
  • A Minesweeper game
  • Create a Paintbrush application
  • Create a Notepad application
  • Create a calculator


Module – 1: Internet and Network Programming

Network Basics

  • What is a network?
  • Needs for Network Communication
  • The layered model
  • Protocols
  • How communication takes place over Network

Implementing Network using sockets

  • Difference between UDP and TCP
  • What is a socket
  • How network programming is performed using socket
  • How to create a dialog-based chat application using socket support.
  • How communication takes place between a server and clients

Internet basics

  • How Internet works
  • What is hub, bridge, router, switch, gateway, backbone, etc.
  • What are ISP servers
  • How Dial Up Connection is used to access Internet services
  • How a web page is accessed
  • How email works
  • How FTP works

Implementation on VC++

  • How to create an FTP client
  • How to get the list of shell folders
  • Use of CFtpConnection and CInternetSession class
Module – 2: Enterprise Application Programming


  • What is static linking
  • Disadvantages of static linking
  • What is dynamic linking
  • Difference between static and dynamic linking
  • How useful are DLLs
  • Types of DLL
  • How to create a DLL
  • How to use a DLL in an application
  • Difference between implicit and explicit linking
  • How explicit linking is done
  • Advantages of explicit linking
  • What we achieve using a DLL


  • How COM solves DLL hell
  • What is COM
  • Why use COM
  • Working of COM, how COM component i.e. binary objects are reused
  • How to build COM component
  • Basics of COM
  • How to build a simple component using ATL-COM Wizard
  • What is In-proc and Out-proc server
  • What is co-class, CLSID, ProgID, Type library, etc.
  • How to build a client program that uses a component
  • Why use a type library
  • What is a smart pointer class
  • Why use an intermediate class
  • How to know which interface and methods have been supported by a component.
  • Which operations are performed when we call a method of a component.
  • What happens if new version of component is used

3-tier Architecture

  • Need of three-tier architecture
  • Working of real world three-tier architecture
  • The data source and the various types of data sources
  • Working of OLEDB architecture
  • The common data types that can be used by scripting languages
  • What is ADO
Module – 3: DirectX Game Programming


  • How DirectX evolved
  • What is DirectX
  • Why use DirectX
  • What are the components of DirectX
  • How smooth animation is achieved
  • The role of COM in DirectX
  • How to create a simple application that animates a bitmap
  • Working of an application that animates the bitmap
  • How to create applications that generate animation effects like continuous rotation and scrolling of images.
  • How input is handled by DirectInput


  • Basics of Direct3D
  • How transformations like translation, rotation, scaling and shearing are performed.
  • What is transformation pipeline and what transformations take place when vertices passes through a transformation pipeline.
  • How vertices are defined
  • What is flexible vertex format
  • Working with matrices
  • Working with vertex buffers
  • How to create an application that draws a pyramid and rotates it.
  • Drawing primitives
  • Working of application that rotates a shape

Draw with texture

  • How to create an application that draws a rotating cube
  • What is texture mapping and how it can be achieved
  • What is texture coordinate system
  • What is vertex normal and how it can be calculated
  • Types of light
  • Characteristics of spot light
  • How to define and enable lighting
  • How to create an application that draws a cube with texture
  • What are fan-list primitives


  • How to make a First Person Perspective game.
  • What are BSP trees
  • Types of BSPs
  • Applications of BSPs
  • How to implement collision Detection using BSPs

Comments are closed.