原創(chuàng)|使用教程|編輯:郝浩|2013-09-24 14:34:24.000|閱讀 309 次
概述:在提供了容器支持如Visual Basic或Visual C++的開發(fā)環(huán)境中,barcode Xpress可以被作為一個(gè)ActiveX控件使用。在Visual C++中如何將Barcode Xpress作為一個(gè)導(dǎo)入的COM 對象使用呢?下面來具體的討論一下。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在提供了容器支持如Visual Basic或Visual C++的開發(fā)環(huán)境中,Barcode Xpress可以被作為一個(gè)ActiveX控件使用。在這種情況下,BarcodeXpress控件將會(huì)被放置在窗體或?qū)υ捒蛏稀?/p>
你也可以在開發(fā)環(huán)境如Visual C++中將Barcode Xpress作為一個(gè)COM 對象導(dǎo)入,在這種情況下,BarcodeXpress并不會(huì)局限于一個(gè)對話框,同時(shí)它也不需要容器支持。我們以下的討論都是基于假定你的開發(fā)環(huán)境是Visual C + +。
在Visual C++中如何將Barcode Xpress作為一個(gè)導(dǎo)入的COM 對象使用呢?下面來具體的討論一下。
一、#importing一個(gè)控件到Visual C + +
通過# import指令導(dǎo)入一個(gè)控件是一個(gè)很簡單的過程,這個(gè)通過# import指令行可以添加到Stdafx.h文件中,為在項(xiàng)目中的所有的源文件提供相應(yīng)的功能。下面的示例展示了ReadBarcodeFromDIB項(xiàng)目中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控件。當(dāng)BarcodeXpress控件被#import指令導(dǎo)入時(shí),編譯器會(huì)產(chǎn)生2個(gè)文件 - TLI和TLH文件,這兩個(gè)文件一起為控件的屬性和方法創(chuàng)建必要的COM wrapper。由于該指令是在你的stdafx.h文件中,所以你的其他模塊也可可以使用wrappers。Wrapper代碼定義了COM智能指針到你.IDL-defined接口,要使用這個(gè)COM項(xiàng)目,你支持需要?jiǎng)?chuàng)建一個(gè)想要要接口的實(shí)例,然后通過使用這個(gè)示例指針直接調(diào)用方法就可以了。
二、給COM對象定義一個(gè)指針
在添加了#import指令之后,必須給BarcodeXpress COM對象定義一個(gè)指針。在ReadBarcodeFromDIB項(xiàng)目中,這個(gè)指針會(huì)被調(diào)用,并在ReadBarcodeFromDIBDlg.h文件中想下面一樣被實(shí)現(xiàn):
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; ...
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件