Member 13964032 Ответов: 1

Как добавить обработчик событий для динамически создаваемого статического элемента управления в mfc


У меня есть приложение на основе диалогового окна mfc, которое динамически создает статические элементы управления при нажатии определенной кнопки. Теперь мне нужно добавить обработчик событий OnClick к этим элементам управления. Пожалуйста, помогите мне решить эту проблему.

Я использую Visual Studio 2008

Что я уже пробовал:

Я попробовал использовать ON_CONTROL_RANGE, но при нажатии на эти элементы управления ничего не происходит

Richard MacCutchan

Вам нужно предоставить более подробную информацию. Можно только догадываться, что происходит в вашем коде.

Member 13964032

В заголовочный файл я включил следующее

afx_msg void OnClickControl(UINT nID);

В карту сообщений я включил

ON_CONTROL_RANGE(STN_CLICKED,0,1000,CDynamicControlsDlg::OnClickControl)

1 Ответов

Рейтинг:
4

Jochen Arndt

Вы должны использовать SS_NOTIFY стиль при создании статических элементов управления для включения уведомлений. Тогда родительское окно получит STN\_CLICKED код уведомления | Microsoft Docs[^].

В карте сообщений вы можете использовать STN_CLICKED или BN_CLICKED потому что они имеют одинаковую ценность.


Member 13964032

Я тоже это пробовал

Jochen Arndt

А потом ты сделал что-то не так. Но без просмотра соответствующего кода (включая создание элемента управления) помочь невозможно.

Код статьи Использование элемента управления CStatic показывает, как это можно сделать с помощью элементов управления, определенных шаблоном диалогового окна.