原創|使用教程|編輯:郝浩|2013-09-24 14:34:24.000|閱讀 309 次
概述:在提供了容器支持如Visual Basic或Visual C++的開發環境中,barcode Xpress可以被作為一個ActiveX控件使用。在Visual C++中如何將Barcode Xpress作為一個導入的COM 對象使用呢?下面來具體的討論一下。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在提供了容器支持如Visual Basic或Visual C++的開發環境中,Barcode Xpress可以被作為一個ActiveX控件使用。在這種情況下,BarcodeXpress控件將會被放置在窗體或對話框上。
你也可以在開發環境如Visual C++中將Barcode Xpress作為一個COM 對象導入,在這種情況下,BarcodeXpress并不會局限于一個對話框,同時它也不需要容器支持。我們以下的討論都是基于假定你的開發環境是Visual C + +。
在Visual C++中如何將Barcode Xpress作為一個導入的COM 對象使用呢?下面來具體的討論一下。
一、#importing一個控件到Visual C + +
通過# import指令導入一個控件是一個很簡單的過程,這個通過# import指令行可以添加到Stdafx.h文件中,為在項目中的所有的源文件提供相應的功能。下面的示例展示了ReadBarcodeFromDIB項目中Stdafx.h文件里import指令的使用。
// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently #if !defined(AFX_STDAFX_H__73AF9569_D12A_49D1_82D7_9662053EE69A__INCLUDED_) #define AFX_STDAFX_H__73AF9569_D12A_49D1_82D7_9662053EE69A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdisp.h> // MFC Automation classes #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT #import "Accusoft.ImagXpress11.ActiveX.dll" #import "Accusoft.BarcodeXpress9.ActiveX.dll" //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_STDAFX_H__73AF9569_D12A_49D1_82D7_9662053EE69A__INCLUDED_)
#import指令僅指向的BarcodeXpress控件。當BarcodeXpress控件被#import指令導入時,編譯器會產生2個文件 - TLI和TLH文件,這兩個文件一起為控件的屬性和方法創建必要的COM wrapper。由于該指令是在你的stdafx.h文件中,所以你的其他模塊也可可以使用wrappers。Wrapper代碼定義了COM智能指針到你.IDL-defined接口,要使用這個COM項目,你支持需要創建一個想要要接口的實例,然后通過使用這個示例指針直接調用方法就可以了。
二、給COM對象定義一個指針
在添加了#import指令之后,必須給BarcodeXpress COM對象定義一個指針。在ReadBarcodeFromDIB項目中,這個指針會被調用,并在ReadBarcodeFromDIBDlg.h文件中想下面一樣被實現:
using namespace AccusoftBarcodeXpress9; #include "..\Include\BarcodeXpress9_Events.h" ... class CReadBarcodeFromDIBDlg : public CDialog { private: ... //ImagXpress pointers CImagXpress* m_ppCImagXpress; IImagXpressPtr m_pImagXpress; CBarcodeXpress* m_ppIBarcodeXpress; IBarcodeXpressPtr m_pBarcodeXpress; ...
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件