zoukankan      html  css  js  c++  java
  • MFC学习笔记4 MFC基于对话框程序和定时器

    一。MFC基于对话框程序

    1.创建MFC基于对话框项目,名字为MFCDialog。系统会生成CMFCDialogApp和CMFCDialogDlg类。

    2.CMFCDialogApp是应用程序类,virtual BOOL InitInstance()是程序执行的入口。

    在virtual BOOL InitInstance()中可以定义程序运行时要启动的对话框。

    3.CMFCDialogDlg是对话框类。创建项目时提供BOOL CMFCDialogDlg::OnInitDialog(),可以用来设置对话框的初始化属性。可以初始化控件。

    在类视图中可以看到项目的所有类和类中对应的函数

    新建的对话框类时没有BOOL CMFCDialogDlg::OnInitDialog()函数,可以在类视图中右键属性,点击重写OnInitDialog

     

    4.为了进行消息映射,在.h中会自动声明消息映射宏DECLARE_MESSAGE_MAP(),而在.cpp中会有BEGIN_MESSAGE_MAP和ND_MESSAGE_MAP宏,中间为定义的消息映射。而在.h和.cpp中会分别生成消息处理函数的声明和实现

     5.对话框类中的DoDataExchange保存了控件和变量的一些对应关系

    二。定时器

    1.在onCreate处理函数中添加定时器

    1     //1 定时器id
    2     //500 时间间隔 500ms
    3     //NULL 使用系统默认处理函数 500ms触发一次VM_TIMER
    4     SetTimer(1, 500, NULL);

    2.添加VM_TIMER消息处理函数

     1 void CMFCApplication2View::OnTimer(UINT_PTR nIDEvent)
     2 {
     3     // TODO: 在此添加消息处理程序代码和/或调用默认值
     4     if (nIDEvent == 1)  //定时器id,从而每个定时器有不同的处理函数
     5     {
     6         static int i = 0;
     7         i++;
     8         CString str;
     9         str.Format(TEXT("%d"), i);
    10         MessageBox(str);
    11         CView::OnTimer(nIDEvent);
    12     }
    13 }
  • 相关阅读:
    MJExtension的一些实用技巧
    SDWebImage第三方库使用注意的一些问题
    按钮控件里面的间距问题
    C#实现全窗体范围拖动
    在 C# 中使用文件名启动应用程序
    BOM设计的一些问题及解决方案探讨----合版BOM
    用ASPOSE.Cells将HTML表格存为Excel
    PPT文件太大时可以考虑另存为PPTX格式
    不小心装了个瑞星
    ERP实施顾问--理解客户的解决方案与实际需求
  • 原文地址:https://www.cnblogs.com/sclu/p/11558837.html
Copyright © 2011-2022 走看看