当前位置:首页 > 帮助文档 > 快速入门 > c++快速入门(com接口)
注册控件向系统注册控件导入控件运行效果响应视区变化事件
注册控件

以管理员身份启动 控件 \Bin\vc100\RegistMxDrawX.exe ,以向系统注册控件。

向系统注册控件

运行 VC6 ,新建工程,点击如下图的 命令菜单 ”,出现插入组件窗口


blob.png


blob.png


导入控件后的工具条:


blob.png

导入控件

stdafx.h 文件中导入控件的类型库,代码如下:


#import "..\..\..\..\..\Bin\vc100d\MxDrawX.ocx" rename("GetObject", "MxGetObject") 
rename("DrawText", "MxDrawText") rename("GetClassName", "MxGetClassName") 
rename("SetProp", "MxSetProp") rename("GetProp", "MxGetProp") 
rename("GetTempPath", "MxGetTempPath")
运行效果

在对话框资源中插入控件,编译运行程序,效果如下所示:


1.png

响应视区变化事件

先在系统中注册MxDrawX.ocx,在VC中引用MxDrawX.ocx,如下图,执行导入组件命令。


vc6.png


在Components and controls gallery对话框,选择MxDrawX.ocx,点击插入按钮。


在Stdafx.h文件中引入控件的类型库,如下代码:


// 导入MxDrawX.ocx类型库,事先需要设置VC包含路径,指名MxDrawX.ocx所在位置
#import "MxDrawX.ocx"
 
// 包括ATL库,可以它的COM智能指针
#include "ATLBASE.H"
 
// 使用MxDrawXLib名字空间.
using namespace MxDrawXLib;


在对话框资源编辑器里,引用控件,并设置控件的IniFilePath属性值为EnableViewModifyNotify=Y如下:


vc6-1.png


vc6-2.png


响应控件的,自定义事件,用VC向导自动加入:


vc6-3.png


增加控件变量,用向导自动加入:


vc6-4.png


在控件事件处理函数里,加入如下代码,得到视区变化的通知:


void CTestMxDrawXDlg::OnCustomEventMxdrawxctrl1(LPCTSTR sEventName) 
{
// TODO: Add your control notification handler code here
CString sEventNameTmp(sEventName);
 
    // 得到事件参数
IDispatch* pDispatch = m_ocx.CustomEventParam();
CComPtr<IMxDrawResbuf> spParam;
pDispatch->QueryInterface(&spParam);
// Mx_ViewModify 是事件名称.
if(sEventNameTmp == _T("Mx_ViewModify"))
{
// 视区的中心点X坐标。文档坐标  
DOUBLE dCenX = spParam->AtDouble(0);
 
// 修改后的视区的中心点Y坐标。文档坐标  
DOUBLE dCenY = spParam->AtDouble(1);
 
// 视区宽度,文档坐标 
DOUBLE dW = spParam->AtDouble(2);
 
// 视区高度,文档坐标
DOUBLE dH = spParam->AtDouble(3);
 
CString sT;
sT.Format(_T("中心点X: %lf,中心点Y:%lf,视区宽度:%lf,视区高度:%lf"),
dCenX,dCenY,dW,dH);
AfxMessageBox(sT);
}
// 释放COM接口
pDispatch->Release();
 
}
梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
TEL:400-888-5703
185-8173-1060
客服I QQ: 3570505660
技术I QQ: 827867134
技术II QQ:6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
控件QQ交流群1:73281982
控件QQ交流群2:112199959
MxCAD软件群 1:515771658
技术I:QQ
827867134
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703