|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 344
|
|
Как определить id пункта меню в ON_COMMAND в mfc14.05.2023, 21:28. Показов 3256. Ответов 5
Метки нет (Все метки)
Всех приветствую. У меня есть два пункта меню,при выборе которых выполняется почти одинаковый код. Подскажите пожалуйста,как получить id нажатого пункта. Я использую макрос ON_COMMAND,т.к ON_COMMAND_RANGE предполагает,что id пунктов меню будут рядом,но один из пунктов меню использует id ID_FILE_OPEN,который я пытаюсь переопределить в resource.h,но у меня ничего хорошего не выходит. Один из пунктов меню становится disable. Ещё читал,что id нажатого пункта меню можно отслеживать в CWnd::GetCurrentMessage(),но когда я пытаюсь вызвать эту функцию (const MSG* m = CWnd::GetCurrentMessage()
,у меня выдаётся ошибка компиляции:E0265. функцию "CWnd::GetCurrentMessage" (объявлено в строке 2185 из "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.1 6.27023\atlmfc\include\afxwin.h") недоступно В общем подскажите пожалуйста,как использовать одну функцию для обработки нажатия на два menuitem. Заранее всех благодарю за помощь.
0
|
|
| 14.05.2023, 21:28 | |
|
Ответы с готовыми решениями:
5
Как по выбору пункта меню создать RichEdit в основном окне MFC и выводить в него текст? Добавление пункта меню MFC Как правильно определить Тип пункта меню Jomsocial в Joomla 2.5 ? |
|
2736 / 891 / 331
Регистрация: 10.02.2018
Сообщений: 2,120
|
||||||
| 15.05.2023, 05:49 | ||||||
|
КАВ, сделайте две функции без аргументов на каждый ID. Сделайте третью функцию с аргументом для передачи ID. Из функций без аргументов вызовите третью функцию и задайте в вызовах нужный ID. Или попробуйте воспользоваться макросом ON_COMMAND_EX, по описанию он подходит для вашей задачи.
0
|
||||||
|
фрилансер
6467 / 5682 / 1131
Регистрация: 11.10.2019
Сообщений: 15,146
|
|
| 15.05.2023, 08:50 | |
|
КАВ, глянь описание
CWnd::OnCommand
0
|
|
|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 344
|
|
| 15.05.2023, 13:48 [ТС] | |
|
Нет,мне больше подходит on_command,т.к он обрабатывает сочетания клавиш для пункта меню,а мне это тоже надо. Алексей,Я прочитал описание cwnd::oncommand,но я использую макрос ON_COMMAND. Как я понимаю,с его помощью мы не можем получить id нажатого пункта меню,если не переопределить cwnd::oncommand? Кстати да,нажатого или пункта меню,который сработал,когда я нажал назначенное на него сочетание клавиш.
0
|
|
|
фрилансер
6467 / 5682 / 1131
Регистрация: 11.10.2019
Сообщений: 15,146
|
|
| 15.05.2023, 14:06 | |
|
КАВ, ON_COMMAND* - это макросы, синтаксический сахар. В итоге всё летит в виртуальную функцию CWnd::OnCommand. Ещё нужно правильно переопределить и ловить команды
0
|
|
|
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 344
|
|||||||||||
| 15.05.2023, 14:59 [ТС] | |||||||||||
|
В общем решил не дурить себе головы и сделать две отдельные функции. Единственное что,почемуто on_new_command не понимает функции с перегрузкой,объявленные в h файле класса типа:
0
|
|||||||||||
| 15.05.2023, 14:59 | |
|
Помогаю со студенческими работами здесь
6
Как показать подпункты меню из активного пункта главного меню? Выделение пункта меню при наведении - только текст или весь блок пункта Как изменить свойство пункта меню? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|