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 cell


The cell can hold three modes: (possible empty) text, a numerical value, or a formula. Its mode is stored in the cellMode field. It can hold the value TextMode, ValueMode, or FormulaMode. Similar to CalcDocument in this chapter and WordDocument in the previous chapters, we refer to the current value of cellMode in expressions such as in text mode, in value mode, and in formula mode.

HeaderWidth, HeaderHeight, ColWidth, and RowHeight are the size of the headers and cells of the spreadsheet. In order for the cell text to not overwrite the cell's borders, CellMargin is used. The spreadsheet is made up of ten rows and four columns.

Cell.h

extern const int HeaderWidth, HeaderHeight, 
                 ColWidth, RowHeight, CellMargin; 
 
#define Rows 10 
#define Cols 4 

A cell can be aligned at the left, center, right or justified in the horizontal direction, and it can be aligned at the top, center, or bottom in the vertical direction:

enum Alignment {Left, Center...