Назад | Начало урока | Вперед
Содержание

Глава 2

Краткий обзор функций класса CSeaBattleDlg

class CSeaBattleDlg : public CDialog {

public:
void SaveFile();
void MoveOwnWnd(CWnd *wnd);
bool ReadFile();
void DrawHisResButton(bool IsDraw = true);
void MoveButtons(bool IsTn);
void SetTurn();
void SetBtDown(int but);
void DrawMove();
void RefreshList();
void GetServName(char *name);
void NetworkStart();
void MoveNetworkWnd();
void MoveHelp();
protected:
BOOL OnInitDialog()
void OnPaint()
HRESULT ReceiveMessage(WPARAM wParam, LPARAM lParam)
void OnMouseMove(UINT nFlags, CPoint point)
void OnLButtonUp(UINT nFlags, CPoint point)
void OnLButtonDown(UINT nFlags, CPoint point)
void OnDestroy()
BOOL OnCommand(WPARAM wParam, LPARAM lParam)
BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
int IsButton(POINT point)

------------------------
Функция SaveFile() вызывается функцией OnDestroy(), когда надо разрушить главное окно
приложения. Для сохранения данных

------------------------
Функция void MoveOwnWnd(CWnd *wnd);
Здесь переданное в параметре окно (через указатель) размещается в главном окне в указанных координатах. Функция вызывается когда ты выиграл.
Вызов происходит при нажатии кнопки в функции :

void CSeaBattleDlg::OnLButtonDown(UINT nFlags, CPoint point)
int but;
but = IsButton(point);
switch(but) {

...
case WM_WIN_YOU:
...
MoveOwnWnd(&m_SaveDialog);
m_SaveDialog.ShowWindow(SW_SH

----------------------
Функция bool ReadFile()
Эта функция чтения из файла вызывается в функции инициализации
BOOL CSeaBattleDlg::OnInitDialog() для начальных установок в игре.

---------------------------
DrawHisResButton(bool IsDraw)
Эта функция вызывается когда надо сообщить результат игры,
при нажатии определенной кнопки.
Вызов происходит при нажатии кнопки в функции OnLButtonDown() а так же в функции
SetTurn():

void CSeaBattleDlg::OnLButtonDown(UINT nFlags, CPoint point)
int but;
but = IsButton(point);
switch(but) {

...
case B_RESHIS:
...
DrawHisResButton();

---------------------------------
MoveButtons(bool IsTn)
Эта функция вызывается при "наезде" на кнопку курсором.
То есть при наезде на кнопки курсором картинки немного смещаются в сторону.
и привлекают внимание пользователя.
Вызов происходит в функции:
void CSeaBattleDlg::SetTurn()

-------------
SetTurn()
Вызов происходит при нажатии кнопки в функции :
void CSeaBattleDlg::OnLButtonDown(UINT nFlags, CPoint point) {

int but;
but = IsButton(point);
switch(but) {
case B_TURN:
...
SetTurn();

--------------------------
SetBtDown(int but)

Вызов происходит в функции:
HRESULT CSeaBattleDlg::ReceiveMessage(WPARAM wParam, LPARAM lParam)
switch(wParam) {

...
case WM_LBT_DOWN:
SetBtDown((int)lParam);

Эта функция вызывается, когда одна из четырех кнопок бывает нажата.
Кнопками здесь являются четыре картинки в верхней части окна.
Корабли, Сеть, Один игрок, Хэлп.
В зависимости от того, какая из указанных кнопок-картинок нажата, такие и происходят действия. Смотри функцию. Например если нажата кнопка Хэлп, то выводится окно об авторе.

---------------
void DrawMove();
Функция DrawMove() выводит ту или иную надпись (в зависимости от выбора пользователя) в правом нижнем углу окна. И больше ничего не делает.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz