Kselax.ru

Hacker Kselax — the best hacker in the world

Menu
  • Блог
  • Контакты
  • wp plugin генератор
  • Русский
    • Русский
    • English
Menu

Книга «Visual C++ полный курс» решение задач глава 15

Posted on 16 сентября, 201425 сентября, 2014 by admin

QIP Shot - Screen 067В этой главе вы узнали, как библиотека MFC соединяет сообщение с функцией членом класса для его обработки, и написали свои первые обработчики сообщений. Большую часть времени при создании программ Windows занимает именно написание обработчиков сообщений, поэтому очень важно иметь четкое представление о том, что вовлечено в этот процесс. Когда мы доберемся до рассмотрения других обработчиков сообщений, вы увидите, что процедура их добавления абсолютно такая же.

Кроме того, мы расширили стандартное меню и панель инструментов в созданной мастером MFC Application Wizard программе, что является хорошей базой для кода приложения, который будет добавляться в следующей главе. Хотя никаких функциональных возможностей в программе пока еще нет, работа меню и панели инструментов уже выглядит очень профессионально — благодаря созданному мастером приложений каркасу и мастеру Event Handler Wizard.

В этой главе также на примере версии CLR программы Sketcher было показано, как создавать меню и панели инструментов в программах CLR и как обеспечивать в них обработку событий для предоставления тех же функций, что и в программах MFC.

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

1. Добавьте пункт Ellipse (Элипс) в меню Element (Элемент).

2. Реализуйте в классе документа соответствующую команду и все необходимые для ее обновления обработчики.

3. Добавьте в панель инструментов кнопку, соответствующую пункту меню Ellepse, а затем добавьте для этой кнопки соответствующую всплывающую подсказку.

4. Измените обработчики команд обновления для пунктов меню, представляющих цвета, так, чтобы выбранный в текущий момент пункт меню отображался прописными буквами, а остальные — строчными.

5. Добавьте элемент меню Ellipse и соответствующую кнопку панели инструментов со всплывающей подсказкой в версию CLR программы Sketcher.

И так начнем. Сначала вообще создаем саму программу с самого начала, как это делается можете посмотреть mfc создание меню и панели инструментов , а также можно посмотреть видео

[youtube]https://www.youtube.com/watch?v=fMTKARu2mkQ[/youtube]

ну я просто коротко в нескольких словах опишу как это делается, реально лень это делать еще раз, в общем мы создаем пункт меню Elipse и добавляем к нему обработчик события, так же добавляем в перечисление enum ElementType еще один елемент который будет называться ELIPSE и уже в обработчике события пункта меню Elipse мы прописываем в самой этой функции elementType=ELIPSE. Ну и все, пункт Elipse в меню Element уже должен работать как нада, дальше нам нужно добавить кнопку Elipse в панель елементов, для этого переходим в редактор панели элементов, там добавляем новую кнопку, рисуем рисунок элипс, дальше добавляем событие к элементу созданной кнопки элипс, то есть функция которая обрабатывает событие для пункта меню Elipse, что б они одинаково реагировали на данные события. А так же мы должны добавить обработчики событий UPDATE_COMMAND_UI для обновления меню, добавляем их и все готово, пункт меню меняется и кнопка в панели инструментов выделяется.

Это в кратце короткий план как делается, по сути сам алгоритм, ну так его нужно делать, мне лень сейчас это все описывать с рисунками. в статье и в видео все расписано как что делать.

 

Для CLI я написал следующую статью С++/CLI создание меню и панели инструментов и так же есть видео как создавать меню

[youtube]https://www.youtube.com/watch?v=xvJiYOVttmk[/youtube]

На этом ребятки все.

 

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Рубрики

  • C++ (293)
  • JavaScript (1)
  • linux (1)
  • MFC (39)
  • node.js (2)
  • React (3)
  • vBulletin (5)
  • Visual Studio (9)
  • wordpress (18)
  • Разное (29)

Метки

Ajax bootstrap CentOS CLI expressjs FormData GDlib google Invisible reCAPTCHA JWT media MFC php react-router-dom redux repository wordpress RTTI STL vBulletin vector Visual Studio WINAPI wordpress wp-plugins XMLHttpRequest Двоичное дерево Задачи С++ Игры С++ Исключения С++ О-большое Операторы_С++ Перегрузка операторов С++ Поиск С++ Потоки Проектирование_С++ С++ Типы_С++ Типы С++ Шаблоны С++ библиотеки локализация макросы С++ сортировка С++

Свежие комментарии

  • RA3PKJ к записи visual C++, создание диалоговых окон.
  • admin к записи Как удалить изображение из google
  • Shakanris к записи Программка для заполнения форума на vBulletin 3.8.7
  • костя к записи visual C++, создание диалоговых окон.
  • Татьяна к записи Как удалить изображение из google
©2021 Kselax.ru Theme by ThemeGiant