- обраб-чик таймера
afx_msg void OnExit (); - обробник події на вибір пункту меню В«ExitВ»
afx_msg void OnChar (UINT nChar, UINT nRepCnt, UINT nFlags); - реакція на натискання клавіші клавіатури
DECLARE_MESSAGE_MAP () - карта повідомлень
2.2.3. Карта повідомлень.
BEGIN_MESSAGE_MAP (CMainWnd, CFrameWnd)
ON_COMMAND (IDM_EXIT, OnExit)
ON_COMMAND (IDM_BEGIN, OnBegin)
ON_COMMAND (IDM_RED, OnRed)
ON_COMMAND (IDM_GREEN, OnGreen)
ON_COMMAND (IDM_BLUE, OnBlue)
ON_WM_PAINT ()
ON_WM_TIMER ()
ON_WM_CHAR ()
END_MESSAGE_MAP ()
2.3. Образ головного вікна.
В
На малюнках 1, 2 представлениосновние образи вікна програми. p> В В
Рис. 1. Головне вікно після вибору пункту В«СтартВ»
p>В
p> В В
Рис. 2. Головне вікно до вибору пункту В«СтартВ»
В br clear=ALL>
Додаток
Лістинг файлу main.cpp
/* в цьому файлі знаходяться описи всіх функцій */
# include
# include "main.h"
# include "menu1.h"
CMainWnd :: CMainWnd ()/* конструктор гл. вікна */
{
wnd.SetRect (0,0,400,355) ;//устано-ка розмірів вікна
Create (NULL, "parovoz", WS_DLGFRAME , Wnd, NULL, "MAINMENU");
game = false;/* немає гри */
color = 0;/* поч. колір поїзда */
ns = 0;/* поч. колір світлофора */
br1 [0]. CreateSolidBrush (RGB (255,0,0)) ;//створення кистей
br1 [1]. CreateSolidBrush (RGB (0,255,0));
br1 [2]. CreateSolidBrush (RGB (0,0,255));
sv [0]. CreateSolidBrush (RGB (255,0,0)) ;//створення кистей
sv [1]. CreateSolidBrush (RGB (0,255,0)) ;//світлофора
sv [2]. CreateSolidBrush (RGB (255,255,0));
sv [3]. CreateSolidBrush (RGB (128,128,128));
br2.CreateSolidBrush (RGB (1,1,1)) ;/ * чорний колір */
for (numball = 0; numball <5; numball + +) p> {//обнулення ознак життя диму
live [numball] = 0;
}
В
}
BOOL CApp :: InitInstance ()/* ф-ія ініціалізації вікна */
{
m_pMainWnd = new CMainWnd;/* створ об'єкта вікна */
m_pMainWnd-> ShowWindow (m_nCmdShow)/* показати вікно */
return true;/* вдале завершення */
}
afx_msg void CMainWnd :: OnPaint ()/* ф-ія перемальовування */
{
CPaintDC dc (this);/* Створення контексту вікна */
dc.SelectObject (& br2)/* вибір пензлі для світлофо...