zoukankan      html  css  js  c++  java
  • MFC DLL封装窗体详细步骤

    一、封装

    1. File->Projects->MFC DLL->输入RegularDLL;
    2. 选择"MFC扩展DLL"

    3. 选择ResourceView视图,再RegularDLL resource目录上右键单击->Insert-> Dialog->New


    4. 新窗体删除OK和Cancel,新建一个按钮,窗体的ID改为:IDD_DLL_DIALOG,按钮的ID改为:IDC_HELLO_BUTTON


    5. 双击新建的按钮->ok创建新类->类名起名为CDllDialog->双击按钮,输入:
       MessageBox("此处调用数据库封装");


    6.File->New->C++ Source File->global.cpp,内容如下:
       #include "StdAfx.h"
       #include "DllDialog.h"

       extern "C" __declspec(dllexport) void ShowDlg(void)
       {
      CDllDialog dllDialog;
      dllDialog.DoModal();
       }


    7.在StdAfx.h文件中添加#include "resource.h"

    二、调用
    接下来建立一个调用DLL的工程,按钮中加入以下代码就可以调用了。
    void CMFCRegularCallDlg::OnButton1()
    {
     typedef void (*lpFun)(void);
     
     HINSTANCE hDll;   //DLL句柄 
     hDll = LoadLibrary("D:\CPPPrimerStudy\DLLStudy\RegularDLL\Debug\RegularDll.dll");   //有空格要加转义字符,或者把lib放在改目录下用相对路径 hDll = LoadLibrary(_T("..\LOGIN1\RegularDll.dll"));


     if (NULL==hDll)
     {
      MessageBox(_T("RegularDll.dll未找到"));
     }

     lpFun addFun;  //函数指针
        lpFun pShowDlg = (lpFun)GetProcAddress(hDll,"ShowDlg");
     if (NULL==pShowDlg)
     {
      MessageBox(_T("ShowDlg函数没有在DLL中发现")); 
     }
        pShowDlg(); 
        FreeLibrary(hDll);
    }

  • 相关阅读:
    Hibernate对象状态
    Session接口常用方法
    Hibernate 映射文件基本概述
    Hibernate domain对象说明
    Hibernate配置文件说明
    Hiberante可配置参数
    Hibernate基本演示
    使用JSON数据格式模拟股票实时信息
    操作系统实验零——操作系统实验环境准备
    Shell脚本之for循环、while循环,if语句、case语句
  • 原文地址:https://www.cnblogs.com/jack-jia-moonew/p/4226384.html
Copyright © 2011-2022 走看看