您的位置:首页 > 其它

创建MFC常规dll,通过导出函数显示颜色信息对话框

2010-12-24 09:40 531 查看
在实现文件中添加:

void CUseDlgRegularDllView::OnLButtonDblClk(UINT nFlags, CPoint point)
{
 // TODO: Add your message handler code here and/or call default
 typedef void (*PFDlgShow)(int,int,int);
  HINSTANCE hdll;
 PFDlgShow dlgshow;
 hdll=LoadLibrary("..//Debug//DlgRegularDll.dll");
 if(hdll!=NULL)
 {
  dlgshow=(PFDlgShow)GetProcAddress(hdll,"ShowDlg");
  dlgshow(m_r,m_g,m_b);
 }
 else
 {
  AfxMessageBox("加载Dll失败!");
  return;
 }
 FreeLibrary(hdll);

 CView::OnLButtonDblClk(nFlags, point);
}

void CUseDlgRegularDllView::OnDraw(CDC* pDC)
{
 CUseDlgRegularDllDoc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);
 m_r=100;m_g=200;m_b=0;
 pDC->SetTextColor(RGB(m_r,m_g,m_b));
 pDC->TextOut(200,200,"双击鼠标左键,调用DLL导出的对话框,显示文本颜色!");

 // TODO: add draw code for native data here
}

 

 

在被调用的文件中:

新建一个CColoarDlg的对话框类

然后添加一个ColoarDlgExport.cpp文件

在该文件下添加以下代码:

#include "StdAfx.h"
#include "DlgRegularDll.h"
#include "ColoarDlg.h"
extern "C" _declspec(dllexport)ShowDlg(int m_r,int m_g,int m_b)//导出函数
{
 AFX_MANAGE_STATE(AfxGetStaticModuleState());//获取DLL模块状态
 CColoarDlg dlg;                 //创建对话框对象
 dlg.m_Red=m_r;
 dlg.m_Green=m_g;
 dlg.m_Blue=m_b;
 dlg.DoModal();//创建模态对话框

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  dll mfc null c
相关文章推荐