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 ArrowFigure class


The ArrowFigure is a subclass of the LineFigure class and reuses the firstPoint and lastPoint fields and some of its functionality. The endpoints of the arrowhead are stored in the leftPoint and rightPoint fields, as shown in the following image. The lengths of the sides are defined by the ArrowLength constant to 500 units, which is 5 millimeters.

The ArrowFigure class overrides some of the methods of the LineFigure class. Mostly, it calls the methods of the LineFigure class and then adds functionality of its own.

ArrowFigure.h

class ArrowFigure : public LineFigure { 
  public: 
    ArrowFigure(const Window* windowPtr); 
    FigureId GetId() const {return ArrowId;}; 
 
    bool IsClick(Point mousePoint); 
    bool IsInside(Rect area); 
    void DoubleClick(Point mousePoint); 

 
    void Modify(Size distanceSize); 
    void Move(Size distanceSize); 
    Rect Area() const; 
    void Draw(Graphics&...