Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Самый прстой АctiveX


Автор: Edik 15.7.2008, 15:07
Создал я при помощи MFC ActiveX ControlWizard простенький элемент ActiveX. В нем есть 
переменная m_string c внешнем именем MyText:
Код

            // Dispatch maps
    //{{AFX_DISPATCH(CDMyActive1Ctrl)
    CString m_string;
    afx_msg void OnMyTextChanged();
    //}}AFX_DISPATCH
    DECLARE_DISPATCH_MAP()

Есть конструктор:
Код

CDMyActive1Ctrl::CDMyActive1Ctrl()
{
    InitializeIIDs(&IID_DDMyActive1, &IID_DDMyActive1Events);

    // TODO: Initialize your control's instance data here.
    m_string = "My ActiveX 2";
}

Так вот. Этот элемент ActiveX просто выводит прямоугольник и пишет в нем сторку m_string. Я 
сделал простой диалог, поместил свой ActiveX на него и на диалоге есть кнопка. Как мне при 
нажатии на эту кнопку поменять текст в элементе ActiveX?

Автор: FREEDEV 16.7.2008, 14:08
Если делаешь по урокам с firststeps , там 3м шагом написано, как добавить свое свойство.
При изменении тескста в OnMyTextChanged вызовешь Invalidate для перерисовки.

Соответственно, в твоем диалоге по нажатию на кнопку меняешь свойство и видишь уже новый текст.
 Успехов!

Автор: dandy77 18.7.2008, 19:47
спасибо FREEDEV но моя пробелема была в другом. я просто не подумал в ClassWizrd добавить переменую которая будет типа моего ActiveX, то есть потом эта переменная подключаеться к классу и я пишу типа m_myacitvex.SetMyText("Hello FREEDEV!"). вот, просто давно не занимался с++, пару месяцев- потерял навыки.

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