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

The Document class


In this book, a document is a window intended for common document-based applications, such as the drawing program, spreadsheet program, and word processor of this book. The Document class implements the document described previously and is a direct subclass of the Window class. It supports caret and dirty flag, keyboard status, menus, accelerators, the mouse wheel, scroll bars, and drop files.

Document.h

namespace SmallWindows { 
  extern const Size USLetterPortrait, LineSize; 

The keyboard holds either the insert or overwrite mode.

  enum KeyboardMode {InsertKeyboard, OverwriteKeyboard}; 

Similar to Window, Document has a public constructor intended for instantiation and a protected constructor intended for subclasses. A document of the Document class can accept drop files, and the line size is used by the scroll bar methods:

  class Document : public Window { 
    public: 
      Document(CoordinateSystem system, Size pageSize, 
          ...