Как программно изменить свойство элемента управления ActiveX с помощью MFC? - PullRequest
0 голосов
/ 30 ноября 2011

Я добавил элемент управления activex в свой проект MFC, я не использую редактор диалогов, чтобы добавить элемент управления, я просто использовал MFC, чтобы сгенерировать класс-оболочку для элемента управления, и вызвал член "create" в классе-оболочке чтобы создать элемент управления программно, код более или менее похож на:

class CMyView
{

CCalendar m_ctl;
//other members.....
}
int CMyView::OnCreate
{
  m_ctl.create("",WS_CHILD|WS_VISIBLE,this,CRect(50,50,100,100));
  //.....
}

Но я обнаружил, что класс-оболочка не дает мне возможности изменить свойство элемента управления, поэтому, если я хочу изменить свойство элемента управления программно, что мне делать? Могу ли я достичь этого с помощью класса-обертки? Или это можно сделать программно вообще? Или это можно сделать только через редактор диалогов? Спасибо.

1 Ответ

0 голосов
/ 19 апреля 2016

Да, оболочка включает в себя только функции, если вы создаете их с помощью мастера классов.

Чтобы изменить свойства, т. Е. Переменные, вы можете создать экземпляр ActiveX в форме или диалоге, и у вас будет возможность изменять значения свойств в окне свойств.

Если вы хотите сделать это на ходу, вы можете щелкнуть правой кнопкой мыши на объекте activeX и затем нажать на переменную add. Вы увидите, что он также создаст класс-оболочку для объекта. Этот класс будет автоматически включать методы получения и установки для activex, видимые в недавно сгенерированном заголовочном файле. Если вы уже создали класс-оболочку для вашего activex, он может не работать, попробуйте это в новом проекте. После этого вы можете скопировать сгенерированные файлы .cpp и .h в свой проект.

...