visual c++ windows programming

The Visual C++ Windows Programming training course teaches C++ and Windows programming using Visual C++ and the Microsoft Foundation Class Library (MFC). The course consists of two modules. This course covers the essential elements of Windows programming via an object oriented approach using Visual C++ and the MFC. The basic structure of Windows programs and the MFC encapsulation is explained, and then the power of MFC and the Visual C++ development environment is exploited to build working Windows applications. Delegates will gain experience using the Visual Studio, AppWizard, and Class Wizard. Fundamental Windows programming topics are covered, including the mouse, keyboard, Graphics Device Interface, controls, dialog boxes, menus, toolbars and status bars. The document/view architecture is introduced. A fundamental approach is taken to understanding MFC, building programs by making direct calls to MFC before using automated tools.

  • Strong structured programming knowledge and experience

COURSE AGENDA

  • Fonts
  • Brush and Pen
  • BITMAP
  • WinMain function as entry point
  • WNDCLASSEX structure
  • Data types
  • Creating and displaying window using windows API functions
  • Message Loop
  • Using Windows Procedure to handle windows messages (Windows messages, CREATE, DESTROY, MOUSE EVENTS)
  • Adding Menu to window and handling menu messages
  • Using Device Context
  • Concepts and creation of Child Windows
  • Understanding and using Message Crackers to handle windows messages
  • Windows Operating system components
  • GDI, KERNEL, USER
  • Window creation process
  • WM_CHAR Message
  • WM_KEYDOWN Message
  • Introduction and Benefits over Windows SDK
  • Overview of MFC
  • Creating class without Doc-View architecture
  • Creating application using MFC App Wizard
  • Creating Non-Document View MFC Application
  • MFC document view architecture
  • Single Document Interface
  • Messages and Message Handling
  • Message Maps
  • CView, CWinApp, CFrameWnd classes
  • Creating window using MFC classes
  • Processing user input
  • Creating classes using class wizard
  • Device Context and Graphics Objects
  • Creating Menu for your Application
  • Using CobList
  • Adding Statusbar to your Application
  • Creating Menu for your Application
  • Working with Multiple view and splitter windows
  • Refreshing Multiple Views
  • Multiple Document Interface
  • The CDialog class
  • Modal and Modeless Dialogs
  • Managing dialog controls
  • Class Wizard support
  • The DoDataExchange function
  • --DX and DDV mechanisms
  • Adding Dialog Box to the Application
  • Creating Property Sheets
  • Using Common Dialog Boxes
  • Tree View Control
  • Property Pages
  • Introduction and perspectives
  • The Dll Entry point DllMain()
  • Creating and deploying SDK Dll
  • Writing Client Application
  • Creating MFC AppWizard Dll (Regular Dll and Extension Dll)
  • Packaging Dialogs With dll as per the industry standards
  • Exception handling in Constructors and Destructors
  • Exception keywords try, catch, throw
  • Throwing Exception Expressions
  • Multiple Catch blocks
  • Understanding object creation and destruction during stack unwind
  • Stack status during Exception Throw and Catch
  • User defined Exception classes
  • Debugging Environment
  • Using the Developer Studio Debugger
  • Adding MFC Debugging Support
  • MFC exceptions
  • ODBC connectivity
  • Data access in C++ scenarios
  • Concept of Handles
  • Environment Handles
  • Statement Handles
  • Database Handles
  • Flow of Program
  • The CDaoDatabase class
  • Concept of Recordset
  • Application Architecture
  • The CDatabase class
  • Design of CDatabase Class
  • Database related view classes
  • What is Multitasking ?
  • The way various operating systems support multitasking
  • Windows handling of multitasking
  • Multithreading as specialized multitasking
  • Processes and kernel objects
  • Thread - related terminologies
  • Priority levels
  • Thread - related API's
  • The Create Thread API
  • The _beginthread as an encapsulator
  • MFC Categories of threads
  • Implementing Worker Threads
  • Implementing UI Threads
  • The CWinthread class
  • Why is synchronization needed ?
  • User Mode Synchronization using InterLock APIs
  • Critical Section
  • Kernel Synchronization objects
  • Event
  • Event Signalling
  • Mutex
  • Semaphore
  • MFC Classes
  • Concept of TLS
  • TLS related APIs