Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Диалоги в VC++ 7.1


Автор: NiJazz 3.12.2004, 15:34
Открыл диалоговое окно, или форму. Там есть кнопка. Проект чужой. Хочу посмотреть обработку события нажатия кнопки. Кликаю два раза, появляется какой-то Wizard. Как посмотреть код события?

Автор: alien_by 3.12.2004, 16:15
Странно. Ну да ладно.
Кликни на эту кнопку один раз (т.е. выдели её), посмотри во окошко properties, там в верхнем ряду есть значок молнии. Кликни по нём, ниже появится список сообщений, которые могут быть сгенерированы кнопкой. Около сообщения BN_CLICKED должно быть имя метода (в DDL-е), который его обрабатывает. кликни на кнопку DDL-я (кнопочка со стрелкой вниз), появится два действия delete, edit code. Выбери второй.

Автор: NiJazz 3.12.2004, 17:29
alien_by
Там пусто. Куда они могли деться?

Автор: Plamenk 3.12.2004, 19:10
А проект на чем написан? Случайно не на WTL smile

Автор: alien_by 3.12.2004, 19:42
Цитата
Там пусто. Куда они могли деться?

Возможно информация о структуре проекта была испорчена, либо проект был создан в более старой (а именно < 7) версии VS. Хотя в этом случае среда пытается конвертить.

Есть ещё один вариант, я думаю что он вполне вероятен, тот, кто писал данную прогу - ВООБЩЕ не пользовался визардами, а работал ручками. В таком случае служебная информация соответственно отсутствует.

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

enum { IDD = имя ресурса диалога };


поищи её, найдёшь заголовок, также обычно называется и сам исходник!!!

Следующий шаг, смотришь в окошке пропертей ID кнопки.
Затем ищешь в исходнике следующую запись
Код

ON_BN_CLICKED(ID кнопки


Если находит, то следующий параметр данного макроса это и есть имя функции обработчика.
Например
Код

ON_BN_CLICKED(IDOK, OnBnClickedOk)


OnBnClickedOk - имя целевой функции.

Автор: NiJazz 4.12.2004, 18:04
Plamenk
MFC

alien_by
А с других форм переход на обработчик нормальный.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)