Book Image

C++ Windows Programming

By : Stefan Björnander
Book Image

C++ Windows Programming

By: Stefan Björnander

Overview of this book

It is critical that modern developers have the right tools to build practical, user-friendly, and efficient applications in order to compete in today’s market. Through hands-on guidance, this book illustrates and demonstrates C++ best practices and the Small Windows object-oriented class library to ease your development of interactive Windows applications. Begin with a focus on high level application development using Small Windows. Learn how to build four real-world applications which focus on the general problems faced when developing graphical applications. Get essential troubleshooting guidance on drawing, spreadsheet, and word processing applications. Finally finish up with a deep dive into the workings of the Small Windows class library, which will give you all the insights you need to build your own object-oriented class library in C++.
Table of Contents (22 chapters)
C++ Windows Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Dedication
Preface
Free Chapter
1
Introduction

Controls


Here is the Small Windows control hierarchy:

Control.h

namespace SmallWindows { 
  class Dialog; 

The constructor sends the parent window pointer to the Window constructer and stores the other values until it is added to the dialog information list by AddControlInfo:

  class Control : public Window { 
    public: 
      Control(Dialog* parentPtr, Point topLeft, Size controlSize, 
              String className, String text, int style); 
      void AddControlInfo(InfoList& infoList) const; 
 
      Point TopLeft() const {return topLeft;} 
      Size GetSize() const {return controlSize;} 

The following methods are intended to be overridden by subclasses and are by default empty:

      virtual void OnControlInit(Dialog* dialogPtr) {/* Empty. */} 
      virtual void OnGainFocus(Dialog* dialogPtr) {/* Empty. */} 
      virtual void OnLoseFocus(Dialog* dialogPtr) {/* Empty. */} 
      virtual void OnChange(Dialog* dialogPtr...