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

本文介绍了一个使用DLL导出函数来改变对话框文本颜色的示例。通过加载DLL并调用其中的`ShowDlg`函数,可以将指定的颜色参数传递给对话框,并在对话框中显示相应颜色的文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实现文件中添加:

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();//创建模态对话框

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值