Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Event вызываемый из другого объекта.(ActiveX MFC)

27K
28 марта 2007 года
radiocrash
1 / / 28.03.2007
Здравствуйте.
Создал контрол кнопку при помощи волшебника MFC ActiveX Соntrol(кнопка).Назначение такое: при нажатии кнопки должно вывалиться окно подтверждения (диалог).Добавил класс Ackn(Cdialog). Всвязи с этим возникает проблема.
Добавил event в классе кнопки CWCCButtonControlCtrl ClickAcknOk (извещающий контейнер о том, что нажата кнопка ОК на диалоговом окне), его вызывает функция FireClickAcknOk(void).
Как его вызвать в рамках
Ackn::OnBnClickedOk(){
}?
То есть мне нужно перехватить обьект кнопку класса
CWCCButtonControlCtrl и каким то образом передать в

Ackn::OnBnClickedOk(){
в форме объект->FireAcknOk();
}

попробовал так:

В Ackn.h
создал класс:
class CButtonCtrl
{
public:
CWCCButtonControlCtrl* m_pButtonCtrl;
};

В Ackn.cpp естественно
#include "stdafx.h"
#include "WCCButtonControlCtrl.h"
#include "Ackn.h"
void Ackn::OnBnClickedOk()
{
cButton.m_pButtonCtrl->FireClickAcknOk();
// TODO: Add your control notification handler code here
OnOK();
}

В WCCButtonControlCtrl.h
#include "Ackn.h"
CButtonCtrl cButton;

Вот надо бы проинициализировать в WCCButtonControlCtrl.cpp в WCCButtonControlCtr::OnCreate() но такого метода нет. Где лучше?
Сделал в конструкторе:

CWCCButtonControlCtrl::CWCCButtonControlCtrl()
{
InitializeIIDs(&IID_DWCCButtonControl, &IID_DWCCButtonControlEvents);
// TODO: Initialize your control's instance data here.

cButton.m_pButtonCtrl=this;
}

Посыпались следующие ошибки :

В Ackn.h
class CButtonCtrl
{
public:
CWCCButtonControlCtrl* m_pButtonCtrl;
};
1>d:\documents and settings\serge\мои документы\visual studio 2005\projects\wccbuttoncontrol\wccbuttoncontrol\ackn.h(27) : error C2143: syntax error : missing ';' before '*'
1>d:\documents and settings\serge\мои документы\visual studio 2005\projects\wccbuttoncontrol\wccbuttoncontrol\ackn.h(27) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:\documents and settings\serge\мои документы\visual studio 2005\projects\wccbuttoncontrol\wccbuttoncontrol\ackn.h(27) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

в Ackn.cpp
1>d:\documents and settings\serge\мои документы\visual studio 2005\projects\wccbuttoncontrol\wccbuttoncontrol\ackn.cpp(39) : error C2039: 'm_pButtonCtrl' : is not a member of 'CButtonCtrl'

1>d:\documents and settings\serge\мои документы\visual studio 2005\projects\wccbuttoncontrol\wccbuttoncontrol\ackn.cpp(39) : error C2227: left of '->FireClickAcknOk' must point to class/struct/union/generic type
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог