Review Concepts in C
- Usages of Pointers
- Pointer to functions- Callbacks
- Calling Conventions
- A case study using Callbacks
Windows Programming Mode
- Windows Software Architecture
- Event-Driven Programming
- Messages and Message Encapsulation
- Synchronous and Asynchronous Programming
- About VC++ IDE
- Window Programming in C-SDK Style
- Notations and Naming Conventions
- Windows Libraries and APIs
- Resources and Resource Types
The first Windows SDK style Program
- Understanding the WinMain
- Use of Callback Functions
- Message processing using Window Procedure
- Keyboard Basics
- Mouse Basics
- Client area mouse messages, Non Client Area Mouse Messages
- Timer Basics
Introduction to Resources
- Windows Resources Overview
- About Resource Compiler
- Icons, Cursors, and Bitmaps
- Toolbars and Status Bars
- Strings and Fonts
- Menu concepts, Menus and messages
- Floating popup Menus, Keyboard accelerators
- Dialog Resource
- Creating a Dialog (Modal and Modeless)
Child Windows Controls
- Creating Child Windows
- Message Communication between parent and Child window
- Child Window controls
- Push, Check, radio group boxes, edit, list classes
The Graphics Device Interface
- Introduction to GDI
- Device Contexts
- GDI Drawing Tools and Attributes
- GDI Coordinate Systems and Mapping Modes
- Regions and Clipping
- Drawing Functions
- Text Functions, Font, Colors
- Pens and Brushes
- Painting the window
- Handling WM_PAINT message
- Bitmaps and DIBs
Review Concepts in C++
- OOPs concepts
- Classes & objects
- Access privileges
- Polymorphism
- Constructors & Destructor's
- Inheritance
- Virtual Functions
- Templates
MFC Programming Model
- MFC Design philosophy
- MFC Class Hierarchy
- MFC and Application Framework
- MFC and Message Maps
- First MFC Application
- Usage of Application Object
- Usage of Window Object
- Message Map MACROS
The Mouse and Keyboard
- Processing Mouse Events
- Processing of Keyboard Events
- A Sample Program
Menus, Toolbars and Status Bar
- Creating a Menu
- Responding to Menu Commands
- Synchronization of Menu items
- Accelerators
- Creating ToolBar and Status Bar
- A sample Program
Graphics Device Interface
- About GDI Objects
- Cbrush, Cpen, Cbitmap, Cpallette and Cregion
- Using Device Context
- Painting in a Window
- Handling WM_PAINT
- A Sample Program
MFC Controls
- MFC Control Classes
- Cbutton, Cstatic, ClistBox, Ccombox
- A Sample Program
- Modifying Control Attributes
- Adding KeyBoard interface
- Modifying Control Behaviors
- Bitmap Buttons
- Changing Control Colors
- Control Notifications
- Scrollbar Controls
- A sample Program
Common Controls
- Creating a common Control
- Spin Buttons, Progress Bars, Sliders and Tooltip Controls
- ImageList, TreeView and ListView Controls
- Header Control, Tab control, Custom-Draw Controls, Control Views and Edit Controls
- Processing Notifications
- A sample Program
Dialog Boxes and Property Sheets
- CDialog Class
- Modal Dialog Boxes
- Modeless Dialog BoxesBinding the Dialog Control to Variable
- DDX, DDV
- Sample Program
- Bitmaps
- Working with Resource BitMap
- Displaying the Bitmap
- GDI Bitmaps Object
- Saving and Restoring DIB Bits from bmp file
- Property Sheets
- CPropertySheet and CPropertyPage Classes
- Handling the Apply Button
- A Sample Program
- Using Activex Controls in Dialog Boxes
Document/View Architecture
- The Document/View Model
- Document and View Classes
- Document Templates
- Saving and Loading Documents
- Using Multiple Views
- SDI and MDI Application Styles
- Decoupling Document and View
- Navigating the Classes
MDI and Multiple Views
- SDI vs. MDI Applications
- Multiple View Types
- Multiple Views under SDI and MDI
- Document Templates
- Instancing a View
- Adding a New Document Class
Splitter Windows
- Static and Dynamic Split Views
- Creating a Dynamic Split Window
- Add a Dynamic Splitter as a Separate MDI View
- Integrating a Static Split Window
- Synchronizing Document and Views
Serialization and Persistent Documents
- CArchive Object
- Document Serialization
- Serializing Pointers
- Creating Persistent Classes
- Serializing CObject Pointers
- Serializing Collections
Database Programming
- MFC Capabilities
- The Jet Engine
- MFC Database Classes
- Using CRecordView
- Overview of SQL
- DAO
- What is DAO.
- DAO Objects
- DAO Classes
- AppWizard and ClassWizard Support
- Browsing, Adding, Updating and Deleting Records
- ODBC
- What is ODBC.
- ODBC Administration
- ODBC Classes
- AppWizard & Class Wizard Support
- Browsing, Adding, Updating and Deleting using CRecordSet
Threads and Thread Synchronization
- Fundamentals of threads and MultiThreaded Programming
- Overview of WIN32 Threading API
- Overview of MFC’s Cwin Thread
- Creation of Worker Thread
- Suspending and resuming the thread
- Thread priorities and Termination of Threads
- A sample Program
- Creating an user interface Thread
- A sample Program
- Thread Local Storage
- Thread Synchronization
- Need Thread Synchronization
- Using Thread Synchronization Object
- Events
- Critical Section
- Mutex
- Semaphore
- Issue to consider in writing a thread safe program
- A sample program
Dynamic Linked Libraries (DLLs)
- Fundamentals of DLLs
- Name mangling in C++
- Exporting the functions
- Using module DEF file
- Using _declspec (dllexport) keyword
- Initialization of DLL
- About DLLMain(..)
- Developing DLLs
- Regular DLL
- WIN32 DLLs
- MFC AppWiard DLLs
- Implicit Loading
- Explicit Loading of DLLs
- Understanding LoadLibrary Call
- Sample Program
- MFC Extension DLL
- Sample Program
- Creating UI in DLLs
Network Programming
- Fundamentals of Networking
- About BSD socket Library
- About WINSOCK
- Sockets and Socket Programming
- Connection Oriented (TCP) programming
- Multi Threaded Server
- A sample program
|