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

Глава 2

В зависимости от того, какой булевый аргумент получен функцией, выполняется одна ветвь или другая ветвь; окно расширяется или сжимается, кнопки-картинки соответственно смещаются вправо или возвращаются обратно на первоначальное место.


void CSeaBattleDlg::MoveButtons(bool IsTn) {
RECT rect;
int w;

GetClientRect(&rect);
w = rect.right-118-103-112-142;
w = w/3;
if(IsTn) {

m_HelpWnd.MoveWindow(103+112+142+3*w, 20, 118, 58);
m_SingleWnd.MoveWindow(103+w+112+w, 18, 142, 68);
m_NetWnd.MoveWindow(103+w, 20, 112, 65);
}
else {
m_NetWnd.MoveWindow(103+w, 20, 112, 65);
m_SingleWnd.MoveWindow(103+w+112+w, 18, 142, 68);
m_HelpWnd.MoveWindow(103+112+142+3*w, 20, 118, 58);
}
}

Как видим этой функции передается булевая переменная. В зависимоcти от того, false или true передано в параметр, выполняется соответствующая ветвь кода. Как обычно вызывается функция GetClientRect() для получения клиентской части (холста) и на этот холст помещается (при помощи функции MoveWindow()) четыре картинки (четыре кнопки-картинки). Из названия типа переменных, похоже, что это кнопки.

CButWnd m_ShipWnd, m_NetWnd, m_SingleWnd, m_HelpWnd;

В зависимости от того, какая ветвь выполняется, окно расширяется или сжимается, картинки соответственно смещаются в сторону или возвращаются обратно на первоначальное место.


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

Hosted by uCoz