Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 сентября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.

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 (нумерация, как всегда, идет с нуля).

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

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

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS