本文主要讨论如何将MFC项目转化为OCX控件
1、创建 .ocx控件
工程名称为JD_Create_Pdf
2、添加调度映射(函数)
函数名称及参数为 Create_Pdf(CHAR* str_resolve, char type, CHAR* title)
3、JD_Create_PdfCtrl.cpp文件中的调度映射中添加代码如下:
DISP_FUNCTION_ID(CJD_Create_PdfCtrl,"Create_Pdf",dispidCreate_Pdf,Create_Pdf,VT_EMPTY,VTS_PI1,VTS_I1,VTS_PI1)
注:dispidCreate_Pdf定义在JD_Create_Pdf.h文件中
// 调度和事件 ID
public:
enum {
dispidCreate_Pdf=1L
};
部分数据类型对照表:
CHAR achar VTS_I1, CHAR* pchar VTS_PI1
4、在JD_Create_PdfCtrl.cpp中添加的函数中添加需要的代码
// CJD_Create_PdfCtrl 消息处理程序
void CJD_Create_PdfCtrl::Create_Pdf(CHAR* str_resolve, char type, CHAR* title)
{
JDCreate_Pdf(str_resolve,type,title);//调用的函数及其他函数(MFC项目的代码),写在此cpp文件中即可。
}
5、在JD_Create_Pdf.idl中添加函数的ID:
6、以管理员身份编译即可生成ocx控件。
注:1、倘若MFC项目中调用了动态链接库(dll):
① 将相关的头文件放在项目中,并添加到项目中
②将dll及lib文件存放在项目文件下
③在stdafx.h中加入如下代码:
#pragma comment (lib,"lib/libhpdf.lib")
#include "include/hpdf.h"