• MFC学习笔记之ClassWizard


    MFC学习笔记:ClassWizard
    按钮->ClassWizard ->add 成员变量   
         |->add  成员函数
    属性---唯一的资源ID。
     函数setSel();repalceSel();onOk()(调用派生类之中的);
    ***************************************************************************************************************************************
    菜单:资源ID DISCARDABLE,级联菜单
    POPUP
    MENUITEM
    MENUITEM SEPARATOR 分隔线,用来区分一组菜单项;
    添加一个MENU到已经知道的程序中:
    1、"insert"->"resource"->自己添加的资源
    2、为定制好的菜单关联一个类
    (1)classwizard->"seleceting an existing class"(adding a class窗口)
    (2)选择已经存在的窗口对话框类,看到该类中“objec IDs”中增加了自己定制的资源的ID;
    (3)关联菜单资源到主窗口中:“ResourceView”->ID-**_DIALOG->"Properties">>"Menu"中选择自己添加的对话框资源
    由此自己添加的菜单资源和主窗口的ID_**_DIALOG建立了联系,接下来为每个按钮添加消息映射和命令处理函数。
    ********************************************************************************************************
    MFC应用之中只有一个框架窗口“FrameWnd”,然后创建文档模板(Doc),然后由文档模板创建文档实例和视图实例(view),一般只需对文档和视图进行操作,MFC设计
    文档---视图结构本意就是让开发者将注意力放在完成任务的上,而从界面编制中解放出来。
    Doc任务负责对数据管理维护,相当于数据容器,数据被保存在Doc类的成员变量之中,然后进行文档类的串行化(Serialize),大多数情况之下需要重写serialize成员函数实现文档的串行化。

    void CMinSdiDoc::Serialize(CArchive& ar)
    {
        if(ar.IsStoring())
              {//storing code}
        else
             {//loading code}
    }
    serialize 成员函数带有一个CArchive的类型的参数,打开一个与文件相关联的CArchive对象,利用IsStoring 判读是读还是写?

    View可以间直接访问Doc类中的数据,显示到屏幕之上,视图类接收数据,将之更新到Doc类之中。通过调用CView类的成员函数GetDocument获得指向文档的指针。
    每个文档可以有多个视图,每个视图只能对应于一个确定的文档。
    CView之中的重要成员函数,OnDraw()屏幕重绘时调用,保证正确显示;
       OnUpdateAllViews()通过调用该函数使文档的各个视图得到同步的正确显示。

  • 相关阅读:
    C++_构造函数与析构函数
    华为模拟机试_C++题解
    OOP_由C到C++
    OOP_面向对象程序设计概述
    java ssm 后台框架平台 项目源码 websocket即时聊天发图片文字 好友群组 SSM源码
    springmvc SSM 多数据源 shiro redis 后台框架 整合
    【面经】5年Java面试亲身经验
    【快手初面】要求3个线程按顺序循环执行,如循环打印A,B,C
    手工实现HttpBasic校验
    Java 并发系列(一) ThreadPoolExecutor源码解析及理解
  • 原文地址:https://www.cnblogs.com/HuaiNianCiSheng/p/3074739.html
Copyright © 2020-2023  润新知