VS2005使用IDLDrawWidget

调试环境VS2005+IDL8.0


前文用到VC6.0和IDL8.0混合编程http://www.cnblogs.com/lartely/archive/2011/04/13/2014481.html

然而在VS2005中使用IDLDrawWidget有一些不同

首先Insert Activex Control导入IDLDrawWidget Control 3.0控件

在solution explorer中右击your project->"add"->"class...",选择"MFC class From ActiveX Control".选择"registry"单选框,并选择"IIDLDrawX3”

image

在dlg.h中添加

#include "CIDLDrawX3.h"

class ...
{
...
	public:
	CIDLDrawX3 m_idl;
...
}

在dlg.cpp中添加

void ...Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_IDLDRAWWIDGET1, m_idl);
}

BOOL ...Dlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	...
	// TODO: Add extra initialization here
	
	m_idl.CreateDrawWidget();
	m_idl.put_Xsize(200);
	m_idl.put_Ysize(200);
	m_idl.put_Xviewport(200);
	m_idl.put_Yviewport(200);
	m_idl.put_GraphicsLevel(1);
	m_idl.InitIDL((long)(this->m_hWnd));
	m_idl.CreateDrawWidget();
	m_idl.ExecuteStr(_T("tv,dist(200)"));
	...
}

 

结果

image

posted on 2011-11-28 20:55  lartely  阅读(682)  评论(0编辑  收藏  举报

导航