zoukankan      html  css  js  c++  java
  • 封装调用包含界面的MFC dll

    1.MVC的设计模式的使用

    经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面。
    V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操作的方式。
    M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性
    C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据

    2.MFCdll 代码的封装性

    常常编写算法的dll,而调用调节参数需要另外编写dll,这个将算法模块的ui以及算法实际模型之间进行了分离,不利用代码的模块的封装以及维护。
    因此需要将算法接口与ui进行封装,方便进行调用

    3.MFC调用封装的方式

    ## 3.1 首先创建一个MFC dll
    

    3.2选择在共MFC dll使用常规的dll

    3.3 添加ui界面资源文件

    3.4 利用MFC 类向导为对话框资源增加类

    ![](https://img2020.cnblogs.com/blog/744642/202110/744642-20211021105659581-1425218373.png)
    

    3.4 在MFC 中程序APP类增加导出接口

    dll 导出接口声明

    dll 导出接口定义

    3.5在控制台中调用程序

    创建控制台程序,并设置调试模式如下

    设置使用MFC的的方式为共享dll

    注意头文件引用顺序,先引用App类头文件,在引用dialog类头文件


    4.在MFC单文档程序中引用dll

    MFC中模式是使用多线程/MD模式与以上相同不需要设置
    且mfc dll默认是使用共享模式dll
    如下在配置含包含头文件以及附件依赖库路径之后,在view类增加以下设置

    结果OK

  • 相关阅读:
    mac上python3安装HTMLTestRunner
    双目深度估计传统算法流程及OpenCV的编译注意事项
    深度学习梯度反向传播出现Nan值的原因归类
    1394. Find Lucky Integer in an Array
    1399. Count Largest Group
    1200. Minimum Absolute Difference
    999. Available Captures for Rook
    509. Fibonacci Number
    1160. Find Words That Can Be Formed by Characters
    1122. Relative Sort Array
  • 原文地址:https://www.cnblogs.com/codeAndlearn/p/15432590.html
Copyright © 2011-2022 走看看