ocx其实是个dll文件,你只要把dll文件的后缀名改为ocx即可. 不过它是有接口的.
理论:
http://www.ithome-cn.net/technology/delphi/de094.htm
实例:
http://wwyyff80.blog.sohu.com/60239343.html
使用:
http://www.360doc.com/content/10/0403/12/861352_21411014.shtml
exe转activeX
http://bbs.2ccc.com/topic.asp?topicid=274532
一、建立工程
通过"MFC ActiveX ControlWizard"向导可以非常容易的建立一个MFC ActiveX控件工程框架。按照默认的选项将建立如图1所示的工程结构:
图1 使用缺省选项建立的ActiveX控件工程结构
二、添加方法
在_Dpptr2上右击,找添加->添加方法,在弹出的对话框中,属性名的列表中输入自定义的属性名,然后选择相应的属性类型:
三、设定属性
3.1添加属性
在_Dpptr2上右击,找添加->添加属性,在弹出的对话框中,属性名的列表中输入自定义的属性名,然后选择相应的属性类型:
3.2调用属性
按下F5运行该项目,在容器中添加此控件后,首先选中该控件(单击控件边框或者鼠标左键按下框选),然后Control->Invoke Methods,弹出如下对话框:
设定属性值:method Name中选择port(PropPut),然后Parameter中设定值,点击Set Value按钮,然后再点击Invoke按钮;
获取属性值:method Name中选择port(PropGet),然后点击Invoke按钮;
四、编辑属性页
1、资源视图窗口中,打开IDD_PROPPAGE_PPTR2窗口,在窗口中添加一个输入框
2、右击输入框->添加变量
3、控件变量t_port关联属性port
在pptr2PropPage.cpp文件中修改DoDataExchange函数为
void Cpptr2PropPage::DoDataExchange(CDataExchange* pDX)
{
DDP_Text(pDX, IDC_EDIT1, t_port, _T("port")); //为添加的代码
DDX_Text(pDX, IDC_EDIT1, t_port);
DDP_PostProcessing(pDX);
}
四、属性值保存到容器中
1、pptr2Ctrl.cpp文件中修改DoPropExchange函数为
void Cpptr2Ctrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
PX_Long(pPX,"port",m_port,1000);
// TODO: 为每个持久的自定义属性调用PX_ 函数。
}
当保存加载该ocx的项目时,属性port则保存到容器中了,下次打开该项目,port值还是上次设定的值。