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

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


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

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



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Меню с вертикальной картинкой


Автор: Dipti Alone.

пример меню

Возможности

  • Пример позволяет показать вертикальную картинку в левой части меню, наподобие стартового меню в Windows.
  • Также в меню могут быть помещены дочерние элементы управления.

Использование:

Чтобы использовать класс CBmpMenu, Вам необходимо использовать стандартные функции включённые в CMenu для отображения всплывающего меню. Вам нужно создать экземпляр CBmpMenu вместо CMenu и затем использовать LoadMenu или CreatePopupMenu сопровождаемые TrackPopupMenu.

Вам необходимо создать обработчики вертикальной картинки в конструкторе.


 
 CBmpMenu(int nBitmapW=0,
 
  BOOL bShowBmp4SubMenu=FALSE,
 
  HBITMAP hBitmap=0,
 
  BOOL StretchBmp=TRUE);
 
 

Разборка аргументов

  • nBitmapW - Ширина пустой области, которая будет выделена с лева для отображения вертикальной картинки в меню.
  • bShowBmp4SubMenu - Если TRUE, то чистая область будет показана для всех подменю. Если FALSE, тогда чистая область будет показана только в основном меню.
  • hBitmap - Если создан обработчик, то этот битмап будет показан на месте пустой области
  • bStretchBmp - Если TRUE, тогда битмап рисуется используя StretchBlt. Если False, тогда пустая область заполняется кистью, созданной из битмапа.

Если Вы хотите разместить дочерние элементы управления в меню, то это необходимо сделать в обработчике WM_ENTERMENULOOP.

Параметры для WM_ENTERMENULOOP изменяются в классе CbmpMenu.


 
 WM_ENTERMENULOOP:
 
 
 
 // обработчик меню, который вводит модальный цикл
 
 wParam = (HMENU)hMenu;
 
 
 
 //обработчик меню(окно меню типа CBmpMenu)
 
 lParam = (HEND)hWindow;
 
 

Используйте hWindow как родительское окно, и тогда Вы сможете создавать и помещать в меню дочерние элементы управления.

Downloads

Скачать демонстрашку - 40 Kb
Скачать исходник - 14 Kb

 

 





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

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




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



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


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