2013-04-11 2 views
1

Вопрос кажется глупым, поскольку в Интернете есть много объяснений, описывающих, как добавить новый метод, который может быть вызван пользователями полученного OCX позже. К сожалению, это не работает для меня.Как добавить метод в MFC-ActiveX

У меня есть проект управления ActiveX, основанный на MFC, который был создан с помощью Visual Studio 6 и был импортирован в VS2010. Там у меня нет класса класса, где я мог бы использовать Мастер для добавления метода (там отображается панель вкладок класса, но она пуста). Существующий код также не предоставляет никаких вызываемых методов до сих пор, так что я просто мог их скопировать.

Итак: как я могу включить/вызвать генерацию представления класса в VS2010 для использования Мастера?

И как только он сработает: какой тип должен быть внешне видимым? Из того, что я узнал, Мастер задает какой-то тип ...

ответ

1

Чтобы добавить метод элемента управления ActiveX, вы должны следовать инструкциям folliwng:

1. Объявить функцию в файле заголовка.

например.

public: 
    int Connect(int timeout); 

2. Добавьте определение в файле СРР.

int CSLWebLinkCtrl::Connect(int timeout) 

    // Your logic here. 

    return 0; 
} 

3. Expose ваших методов в IDL-файл

[id(4), helpstring("method Connect")] int Connect(int timeout); 

Надеется, что это поможет. :)

+0

Эти примеры будут работать в Visual Studio, но с C++. –

+0

Вы можете найти информацию по следующей ссылке: https://csharpexclusive.wordpress.com/ –

0

Возможно, файл SDF поврежден?

Если вы щелкните правой кнопкой мыши по диалоговому окну Class View, вы увидите параметр контекстного меню для Class Wizard. Оттуда вы сможете работать с классами вашего проекта.

+0

Хм, нет .sdf-файла - как я могу включить его создание? – Elmi

+0

@Tom Archer - В VS2010 все еще было .ncb, не так ли? .sdf поставляется с VS2012. –

+0

@Roger - Я считаю, что мы перешли на SDF в VS2k10. До этого это был NCB. –

Смежные вопросы