C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Урок 35. Меняем рисунок у кнопки на панели инструментов / Уроки C++ .NET / Visual C++ .NET

Visual C++.NET
Урок 35. Меняем рисунок у кнопки на панели инструментов

На этом уроке мы с вами рассмотрим, как можно поменять программным способом рисунок у кнопки на панели инструментов.

Создайте приложение с помощю мастера. Можно самое простое - с SDI интерфейсом. В этом приложении уже есть панель инструментов и на ней несколько стандартных кнопок. Вот для одной из них мы и поменяем программным способом рисунок.

Для этого нам надо создать новый рисунок для нашей кнопки. Заметьте, что все рисунки храняться в файле Toolbar.bmp в подпаке res нашего проекта. Так вот, именно этот файл и надо изменить - например в Paint'е - а именно добавить в него еще одну кнопку. После этого он будет выглядеть приблизительно так:

Кнопки в файле Toolbar.bmp

Заметьте, что вы должны увеличить ширину изображения в этом файле на 16 пикселов - это ширина у изображения на стандартной кнопке.

Шаг следующий - добавление пункта меню. Именно по этому пункту у панели инструментов и будет меняться изображение. Добавьте обработчик для этого пункта в класс окна-рамки и в него обавьте следующий код:

void CMainFrame::OnToolsButtonimage()
{
    // TODO: Add your command handler code here
    // Получаем объект типа CToolBarCtrl,
    // связанной с нашей панелью инструментов.
    CToolBarCtrl &toolbar = m_wndToolBar.GetToolBarCtrl();
    // Переменная для хранения информации о кнопке.
    TBBUTTONINFO bi;
    bi.cbSize = sizeof(TBBUTTONINFO);
    // Нас интересует изображение.
    bi.dwMask = TBIF_IMAGE;
    toolbar.GetButtonInfo(ID_FILE_NEW, &bi);
    // Устанавливаем новое изображение.
    bi.iImage=8;
    toolbar.SetButtonInfo(ID_FILE_NEW, &bi);
}

Текст более-менее должен быть ясен из комментария. Мы устанавливаем номер нового изображения равным 8, так как наша новая кнопка в файле Toolbar.bmp имеет номер 8 (нумерация, как всегда, идет с нуля).

После запуска программы и выбора нашего пункта меню панель инструментов будет выглядеть так:

Новое изображение на кнопке