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

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июня!


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

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



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Visual C++.NET
Урок 17. Создаем контекстное меню 2

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

Сначала создадим наше контекстное меню в редакторе. Для него можо сделать даже несколько pop-up меню, например два, как на этой картинке:

Меню в редакторе меню

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

void CMFCTestView::OnRButtonDown(UINT nFlags, CPoint point)
 
 {
 
     // Создаем и загружаем меню.
 
     CMenu menu, *submenu;
 
     menu.LoadMenu(IDR_CONTEXTMENU);
 
     // Приводим координаты.
 
     ClientToScreen(&point);
 
     submenu = menu.GetSubMenu(1);
 
     // Показываем контекстное меню.
 
     submenu->TrackPopupMenu(TPM_RIGHTALIGN, point.x, point.y, this);
 
     CView::OnRButtonDown(nFlags, point);
 
 }

Обратите внимание, что для создания контекстного меню мы воспользовались двумя экземплярами класса CMenu. Второй из них мы используем для получения подменю из первого (нумерация, как и всегда в C, идет с нуля). Иметь контекстное меню в нашем случае будет два пункта - Item 3 и Item 4 (так как в качестве параметра метода GetSubMenu мы указали 1).



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

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




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



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


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