`
SmartGeek
  • 浏览: 71680 次
  • 来自: 南京
社区版块
存档分类

WTL 调用 NI 的 ActiveX 控件

阅读更多

开发环境:vs2008 sp1, WTL 8.1, cwui.ocx 8.6.11 Release (473)

一,介绍

Measurement Studio ActiveX 支持的控件列表:

http://www.ni.com/mstudio/activex_ui_gallery.htm

二,安装

方法1)

安装 MeasurementStudio,但是从评估板激活后转为正式版后,ActiveX还是会有"evaluation copy"的水印。这时需要删除MeasurementStudio,重新安装。

 

方法2)

只安装ActiveX控件,"ActiveX 纯净包" 下载地址在:

ftp://ftp.ni.com/support/softlib/measurement_studio/Misc/NIActiveXUpdater.exe

只需要序列号,不需要激活之类的操作,方便安装。而且ocx的版本比MeasurementStudio 2012的稍微高些。

三,使用

在头文件 stdafx.h 中增加:

#import "C:\Windows\system32\cwui.ocx" rename_namespace("Ni") no_auto_exclude

no_auto_exclude  不能忽略,不然无法使用 ControlImage() 这类接口。

 例1,利用 DCWGraph 控件画图

声明:

class CMainDlg : public CAxDialogImpl<CMainDlg>, public CUpdateUI<CMainDlg>,
  public CMessageFilter, public CIdleHandler
{
public:
	... ...
	Ni::_DCWGraphPtr m_graphPtr;
	CAxWindow m_graphWnd;
};

 实例化:

LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	... ...
	m_graphWnd = GetDlgItem(IDC_CWGRAPH1);
	m_graphWnd.QueryControl(&m_graphPtr);
	m_graphPtr->ClearData();
	... ...
}

 画2条正弦曲线(两条曲线形状一样,上下偏移5)

	CComSafeArrayBound bound[2];// 2 维数组[0, 0]; [1, 0]
	bound[0].SetCount(2);  // X-> 2
	bound[0].SetLowerBound(0);
	bound[1].SetCount(1);  // Y-> 1
	bound[1].SetLowerBound(0);
	CComSafeArray<double> sa(bound, 2);
	long index[2], data;
	data = index[0] = index[1] = 0;
	for (int i=0; i< 100; i++)
	{
		double value = 2*sin(3.1415 * data / 5) + 3;
		for (index[0]=0; index[0] < 2; index[0]++)
		{
			sa.MultiDimSetAt(index, value + index[0]*5);
		}
		_variant_t variant;
		variant.vt = VT_ARRAY | VT_R8;
		variant.parray = sa.m_psa;

		m_graphPtr->PutYDataAppend(variant);
		data ++;
	}

 

 

参考:

http://www.cnblogs.com/kylindai/archive/2007/11/28/974797.html

 

  • 2.swf (2.1 MB)
  • 下载次数: 21
分享到:
评论

相关推荐

    WTL 控件库 v1.3

    2. **高效**:C++模板的使用使WTL能够直接与Windows API交互,减少间接调用,提高性能。 3. **可扩展**:WTL允许开发者轻松添加新的控件或自定义控件,满足特定需求。 4. **面向对象**:通过面向对象的设计,WTL使得...

    wtl 调用 windows media player 示例

    本示例主要探讨如何使用WTL调用Windows Media Player (WMP) 控件,这是一个集成在Windows系统中的多媒体播放器,能够处理各种音频和视频格式。 首先,我们来看标题“wtl 调用 windows media player 示例”。这意味...

    wtl浏览器控件的使用

    在“wtl浏览器控件的使用”这个主题中,我们将深入探讨如何利用WTL框架来集成和操作Web浏览器控件。 首先,Web浏览器控件,也称为IE浏览器控件或ActiveX Web Browser控件,是在Windows应用程序中嵌入网页浏览功能的...

    WTL自定义控件透明背景

    在本主题中,我们将深入探讨如何在WTL中实现自定义控件的透明背景以及对话框显示背景图片的技巧。 首先,让我们理解什么是透明背景。在GUI编程中,透明度允许控件或窗口的部分或全部不显示其自身的颜色,而是透过...

    wtl浏览器控件使用

    首先,我们需要了解的核心概念是`AtlAxWin`类,它是WTL中用于托管ActiveX控件的窗口类。在WTL中,我们可以利用这个类来嵌入和控制Web浏览器控件(也称为Internet Explorer控件或MSHTML控件),使得应用程序能够显示...

    MFC程序员的WTL,第六部分-托管ActiveX控件

    在本教程中,我们将深入探讨如何在MFC程序员的环境中使用WTL(Windows Template Library)来托管ActiveX控件。WTL是微软提供的一种轻量级的库,它扩展了ATL(Active Template Library),使得开发Windows应用程序变...

    WTL 控件库 v1.3 demo

    WTL(Windows Template Library)控件库是一个轻量级的Microsoft C++库,用于构建Windows应用程序。它提供了一套丰富的控件类,帮助开发者高效地创建原生的Win32 GUI程序。WTL v1.3是该库的一个版本,包含了多个常用...

    WTL扩展控件的示例

    6. **控件操作**:在代码中,开发者可以通过调用扩展控件提供的接口来控制其行为,比如设置属性、获取数据等。 7. **事件响应**:扩展控件可能会有自定义的事件,开发者需要通过消息映射和事件处理函数来响应这些...

    WTL通过自定义控件实现添加图片UI

    在本文中,我们将深入探讨如何使用Windows Template Library (WTL) 实现自定义控件以创建具有图片功能的用户界面。WTL 是一个轻量级的C++库,它为开发Windows应用程序提供了一种高效的方法,特别是对于创建桌面应用...

    Wtl vc 二级联动控件

    标题中的“Wtl vc 二级联动控件”指的是在Visual C++(vc)环境中使用Windows Template Library(WTL)框架实现的一种特殊的用户界面控件,它具有两级选择的交互功能,通常用于地区选择、分类筛选等场景。这种控件...

    《MFC程序员的WTL指南: Part VI - 包容ActiveX控件》配套代码VC源代码

    在本资源中,我们关注的是《MFC程序员的WTL指南: Part VI - 包容ActiveX控件》一书的配套源代码。这个部分主要讲解了如何在Windows Template Library (WTL) 应用程序中集成和操作ActiveX控件,并处理它们产生的事件...

    WTL自绘日历

    **WTL自绘日历控件详解** WTL(Windows Template Library)是Microsoft提供的一款轻量级的C++库,用于构建Windows应用程序。它基于ATL(Active Template Library)并扩展了对MFC(Microsoft Foundation Classes)的...

    用ATL建立ActiveX控件

    ATL编写控件比MFC要难一些,所谓的难就是ATL中的编程向导没有MFC中的那么好用。有好多的东东要自己手工去加。所以今天我就把ATL控件建立的过程在此阐述一下,供初学者学习。代码文档...

    Atl调用WTL生成界面

    这样,我们就可以使用WTL的控件和窗口类来构建界面。例如,我们可以使用`CWindowImpl`或`CDialogImpl`作为基础类,创建自定义的窗口或对话框。 接下来,我们需要创建一个COM接口,这个接口将暴露给外部调用者。在...

    WTL库实现浏览器框架

    总之,利用WTL库和IE控件实现浏览器框架是一项涉及Windows编程、C++模板、ActiveX控件以及事件处理等多个方面的综合实践。通过这个项目,开发者不仅可以掌握WTL库的基本用法,还能深入了解浏览器客户端的开发流程和...

    WTL选项卡控件,用于管理选项卡视图

    在这个主题中,我们将深入探讨“WTL选项卡控件”,这是一种用于管理选项卡视图的强大工具。 标题“WTL选项卡控件,用于管理选项卡视图”表明我们将讨论如何使用WTL来创建和管理具有选项卡界面的应用程序。在Windows...

    wtl的tree控件

    自动同步父子item的check状态,tree的常用组合键处理。默认的CTreeViewCtrl不处理check状态的同步也不带常用组合键处理,其实这些操作基本是每个tree都会有的吧?所以就实现一个。

    WTL版数据窗体客户端调用示例源代码

    本示例源代码提供了使用WTL实现数据窗体客户端调用的具体实践,帮助开发者更好地理解和运用WTL进行应用程序开发。 首先,WTL提供了一种高效的方式来创建Windows应用程序,它比传统的MFC(Microsoft Foundation ...

Global site tag (gtag.js) - Google Analytics