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
and OnLoseFocus
methods...