图解VC++开发ActiveX控件C#调用

1 新建ActiveX控件工程

图解VC++开发ActiveX控件C#调用_第1张图片


图解VC++开发ActiveX控件C#调用_第2张图片


图解VC++开发ActiveX控件C#调用_第3张图片

2 编译,运行

使用下图所示VC++自带测试工具来测试ActiveX控件;

图解VC++开发ActiveX控件C#调用_第4张图片

3 测试容器

插入刚做的ActiveXDemo1控件

图解VC++开发ActiveX控件C#调用_第5张图片



4 添加属性

图解VC++开发ActiveX控件C#调用_第6张图片

添加名为outstr的属性;

图解VC++开发ActiveX控件C#调用_第7张图片

在控件的实现文件中加入黑体一句;

void CActiveXDemo1Ctrl::OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
pdc->Ellipse(rcBounds);
pdc->TextOut(10,10,m_outstr);

5 在VC++中测试

再打开一个VC,新建一个对话框工程;插入上面做的控件;


设置上面新加的属性的值;

图解VC++开发ActiveX控件C#调用_第8张图片

显示如下;

图解VC++开发ActiveX控件C#调用_第9张图片

6 为ActiveX控件添加一个双击事件

类型默认是Stock;


7 在VC++中测试事件

运行控件;双击控件;可见测试容器下方提示触发了双击事件;


8 在C#中添加ActiveX控件到工具箱

从 COM 组件选项卡中找到前面用VC做的控件,然后添加;


9 在C#中测试ActiveX控件

测试代码;

    public Form1()
        {
            InitializeComponent();
            axActiveXDemo11.outstr = "activex demo";
        }


        private void axActiveXDemo11_DblClick(object sender, EventArgs e)
        {
            MessageBox.Show("VC++编写ActiveX控件,C#测试!");
        }

在控件界面上输出了outstr属性值;双击控件,弹出消息框;



工程下载

http://pan.baidu.com/s/1o8qyWLs

文件名

activexdemo.rar



你可能感兴趣的:(C#,VC,ActiveX,ActiveX控件)