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


Автор: torero 4.8.2009, 19:49
   Работаю в VC++2005 , т.е. 8-я студия. Интерфейс отличается от 6-ой студии, и вот не могу добавить в проект стандартный метод. 
В MSDN 2005 написано, что это можно сделать только через интерфейс. Допустим в класс CMyView  я хочу добавит метод OnLButtonUp.
1. На панели инструментов щёлкаю иконку ObjectBrowser   2. В открывшемся окне выбираю в заголовке Browse : My Solution и в поле щёлкаю CMyView
3. В открывающемся листе с методами щёлкаю OnLButtonUp  4. Под листом в отдельном окне появляется запись: protected void OnLButtonUp(UINT nFlags, CPoint point)
                                                                                                                                                                                                Member of CMyView
 5. Теперь нужно нажать OK, Add, Edit или ещё чего-нибудь, но ничего этого нет, а если просто закрыть окно, то метод не появляется в проекте. Что нужно сделать?

Автор: kolobok0 6.8.2009, 12:48
Цитата(torero @ 4.8.2009,  19:49)
... Что нужно сделать?

Немного поработать с си бимолем smile

если Вы в броузере (ваш шаг 2) выделите мышкой Ваш класс, то в закладке Properties обратите внимание на появившеися иконочки (молния - ивенты, квадратик с заголовком - мессэджи, маленький кубик - перекрываемые методы). Вам нужна пиктограмма Overrides. Нажмёте на неё и увидете список Ваших методов. напротив них - комбобоксики. открываете их, выбираете наименование по умолчанию и при их закрытии студия вставит обработчик и объявление в cpp&h соответственно. при этом вас переместит в cpp прям в данный метод. скоро думать начнёт за программера студия - явно smile


удачи Вам
(круглый)

Автор: torero 6.8.2009, 19:38
   Сделал, как Вы написали, но, когда нажал Overrides, то вышел не полный список методов. Т.е. там нет OnLButtonUp и нет даже OnLButtonDown, который уже стоит в CMyView и 
 успешно работает. Мой класс CMyView производный от CScrollView и эти методы должны быть. Попробовал метод, который в списке есть PreTranslateMessage, всё OK, он вошёл
 в проект, но он мне не нужен. 
 P.S.  Если выбрать метод так, как написал я на шаге 3, то в окне Properties появляется имя OnLButtonUp, а в пункте CanOverride (можно переопределить) стоит False, т.е. нельзя.
        Правда, всё это блеклым цветом.

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