Reader small image

You're reading from  C++ Windows Programming

Product typeBook
Published inSep 2016
Reading LevelIntermediate
PublisherPackt
ISBN-139781786464224
Edition1st Edition
Languages
Right arrow
Author (1)
Stefan Björnander
Stefan Björnander
author image
Stefan Björnander

Stefan Björnander is the author of the books Microsoft Windows C++ and C++ Windows Programming. He holds a Master of Engineering and a Licentiate in Computer Science. He has worked as a software developer and as a teacher in computer science and mathematics for many years.
Read more about Stefan Björnander

Right arrow

The Tetris window


In this application, we do not use the StandardDocument framework from the Chapter 2, Hello, Small World!. Instead, the TetrisWindow class extends the Small Windows root class Window directly. The reason is simply that we do not need the functionality of the StandardDocument framework or its base class Document. We do not use menus or accelerators, and we do not save or load files:

TetrisWindow.h

class TetrisWindow : public Window { 
  public: 
    TetrisWindow(WindowShow windowShow); 
    ~TetrisWindow(); 

In this application, we ignore the mouse. Instead, we look into keyboard handling. The OnKeyDown method is called when the user presses or releases a key:

    bool OnKeyDown(WORD key, bool shiftPressed, 
                   bool controlPressed); 

Similar to the circle application, the OnDraw method is called every time the window's client area needs to be redrawn:

    void OnDraw(Graphics& graphics, DrawMode drawMode) const; 

The OnGainFocus...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
C++ Windows Programming
Published in: Sep 2016Publisher: PacktISBN-13: 9781786464224

Author (1)

author image
Stefan Björnander

Stefan Björnander is the author of the books Microsoft Windows C++ and C++ Windows Programming. He holds a Master of Engineering and a Licentiate in Computer Science. He has worked as a software developer and as a teacher in computer science and mathematics for many years.
Read more about Stefan Björnander