Панель інструментів являє собою набір растрових кнопок одного розміру(за замовчуванням їх розміри 15х16) і розподілювачів. Натиснення на кнопку панелі інструментів подібно вибору одного пункту меню. Частіше за все панель інструментів використовується разом з меню, дублюючи основні його пункти. На відміну від меню, вона більш зручна в роботі завдяки додатковим властивостям: організації підказок, встановленню різноманітних стилів і розмірів кнопок тощо.
Щоб створити панель інструментів необхідно натиснути правою кнопкою миші на папці Toolbar в вікні Resource View, а потім вибрати із контекстного меню Insert Toolbar, в результаті чого буде створена нова панель інструментів(створюється пуста панель інструментів).При її створені необхідно задати відповідний ідентифікатор ID, наприклад: IDR_MAINFRAME.
Після цього панель інструментів слід заповнити кнопками. Для цього існує спеціальний редактор. При створенні кнопки їй необхідно присвоїти ідентифікатор. В кожній кнопці даної програми прописані підказки у полі Prompt в діалоговому вікні властивостей кнопок, як показано на рис. 8.
Рисунок 8 – Властивості панелі інструментів
Рисунок 9 – Створення панелі інструментів
По закінченні створення панелі інструментів переходимо до створення програмного коду, що буде обробляти виклики з панелі інструментів. Потрібно додати в клас рамки вікна клас панелі інструментів:
CToolBar m_wndToolBar;
В функції CMyFrameWin::OnCreate(LPCREATESTRUCT lpCreateStruct) напишемо код для створення панелі інструментів:
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD
|WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS
| CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
TRACE0("Failed to create toolbar\n");
return -1;
де, TBSTYLE_FLAT – стиль кнопки; WS_CHILD,WS_VISIBLE, CBRS_TOP,CBRS_GRIPPER,CBRS_TOOLTIPS,CBRS_FLYBY,CBRS_SIZE_DYNAMIC – стилі панелі інструментів.
4.2 Рядок стану
Рядок стану розташовується в нижній частині вікна. Його призначення – відображати опис команд і стан кнопок Num Lock, Caps Lock і Scroll Lock, та інформувати користувача про стан визначених атрибутів або параметрів програми.
Для створення рядка стану необхідно виконати такі кроки.
1. В класі вікна програми оголосити змінну класу CStatusBar для об’єкта рядка стану:
CStatusBar m_wndStatusBar;
2. Створити структуру з ідентифікаторами полів, що відображаються в рядку стану:
static UINT indicators[] =
{
ID_SEPARATOR,
ID_INDICATOR_NUM,
ID_INDICATOR_CAPS,
ID_INDICATOR_SCRL,
3. В функції OnCreate CMyFrameWin код для створення панелі інструментів:
!m_wndStatusBar.Create(this) ||!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
Зовнішній вигляд рядка стану зображено на рис. 9.
Рисунок 9 – Зовнішній вигляд рядка стану