Mydialog.h//*********头文件

#pragma once

#ifndef Dialog
#define Dialog
// MyDialog 对话框
#include "Resource.h"
#include "afxwin.h"
#include "MyCEditView.h"
#include "MyEditNew.h"

#define MY_MESSAGE (WM_USER+1001)//用户自定义消息类型号
class MyDialog : public CDialogEx
{
    DECLARE_DYNAMIC(MyDialog)

public:
    MyDialog(CWnd* pParent = NULL);   // 标准构造函数
    virtual ~MyDialog();

// 对话框数据
    enum { IDD = IDD_DIALOG1 };

protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

DECLARE_MESSAGE_MAP()
public:
    //afx_msg void OnBnClickedOk();
    CEdit tempEDit;
//    CEdit tempEDit2[4];
//    MyCEditView tempEDit3[5];
    afx_msg void OnBnClickedOk();
//    MyCEditView tempEdit2;
//    MyCEditView tempEDit2;
    MyEditNew tempedit4;
    afx_msg void OnBnClickedCancel();
    afx_msg void OnTempButtonClicked();
    afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
    virtual void OnOK();
    virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
    afx_msg void OnClickedButton1();
};
#endif

//**************************MyDialog.cpp

// MyDialog.cpp : 实现文件
//

#include "stdafx.h"
#include "MFCApplication1.h"
#include "MyDialog.h"
#include "afxdialogex.h"

// MyDialog 对话框

IMPLEMENT_DYNAMIC(MyDialog, CDialogEx)

MyDialog::MyDialog(CWnd* pParent /*=NULL*/)
    : CDialogEx(MyDialog::IDD, pParent)
{

}

MyDialog::~MyDialog()
{
}

void MyDialog::DoDataExchange(CDataExchange* pDX)
{
    CDialogEx::DoDataExchange(pDX);
    DDX_Control(pDX, IDC_EDIT1, tempEDit);

//  DDX_Control(pDX, IDC_EDIT6, tempEDit3[3]);
    //  DDX_Control(pDX, IDC_EDIT2, tempEdit2);
    //  DDX_Control(pDX, IDC_EDIT2, tempEDit2);
    DDX_Control(pDX, IDC_EDIT2, tempedit4);
}

BEGIN_MESSAGE_MAP(MyDialog, CDialogEx)
    //ON_BN_CLICKED(IDOK, &MyDialog::OnBnClickedOk)
    ON_BN_CLICKED(IDOK, &MyDialog::OnBnClickedOk)
    ON_BN_CLICKED(IDCANCEL, &MyDialog::OnBnClickedCancel)
    ON_BN_CLICKED(12345, &MyDialog::OnTempButtonClicked)
    ON_MESSAGE(MY_MESSAGE, &MyDialog::OnMyMessage)
    ON_BN_CLICKED(IDC_BUTTON1, &MyDialog::OnClickedButton1)
END_MESSAGE_MAP()

// MyDialog 消息处理程序

//void MyDialog::OnBnClickedOk()
//{
//    // TODO:  在此添加控件通知处理程序代码
//    CDialogEx::OnOK();
//}

LRESULT MyDialog::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
    CString cstr1;
    CString cstr2;
    cstr1.Format(_T("%d"), wParam);//整型转字符串
    cstr2.Format(_T("%d"), lParam);//整型转字符串
    MessageBox(cstr1+cstr2);
    return 0;
}
void MyDialog::OnBnClickedOk()
{
    // TODO:  在此添加控件通知处理程序代码
    MyDialog::OnOK();
    //CDialogEx::OnOK();
}

CButton tempButton;
void MyDialog::OnBnClickedCancel()
{
    // TODO:  在此添加控件通知处理程序代码
    CRect tempCrect;
    this->GetClientRect(tempCrect);

int res = tempButton.Create(L"ID_Button", WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(tempCrect.right / 2, 0, tempCrect.right / 2 + 100, 0 + 50), this, 12345);

return;
    CDialogEx::OnCancel();
}
void MyDialog::OnTempButtonClicked()
{
    MessageBox(_T("准备........."));
}

void MyDialog::OnOK()
{
    // TODO:  在此添加专用代码和/或调用基类

MessageBox(_T("到这了"));
    CDialogEx::OnOK();
}

LRESULT MyDialog::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)//message是消息类型,wParam是控件资源ID号,
{
    
    switch (message)
    {
    case WM_COMMAND:
    {
        WPARAM a = wParam;
                      
                       if (wParam == 12345)
                       {
                           MessageBox(_T("12345"));
                       }
                        if (wParam == IDOK)
                       {
                            MessageBox(_T("OK"));
                            return 0;
                       }
                       if (wParam == IDCANCEL)
                       {
                           MessageBox(_T("Cancel"));
                       }
                       break;
  //  CString str1 = (LPCTSTR)(wParam);
    //CString str2 = (LPCTSTR)(lParam);
    // MessageBox(_T("到这了"));
    //MyDialog::OnBnClickedOk();
                      
     
    }
    case MY_MESSAGE:
    {
     MessageBox(_T("自定义的一个消息"));
    return CDialogEx::WindowProc(message, wParam, lParam);
    }

default:
        break;
    }

// TODO:  在此添加专用代码和/或调用基类

return CDialogEx::WindowProc(message, wParam, lParam);
}

void MyDialog::OnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码
    ::SendMessage(this->m_hWnd, MY_MESSAGE, 9890, 3454);

}

测试—自定义消息处理相关推荐

  1. Boost:bind绑定的测试自定义占位符

    Boost:bind绑定的测试自定义占位符 实现功能 C++实现代码 实现功能 bind绑定的测试自定义占位符 C++实现代码 #include <boost/config.hpp> #i ...

  2. winapi实现自定义消息处理类

    上一篇介绍了如何实现主窗口界面的创建,接下来创建一个消息处理类,可以实现各种消息的可视化显示,使我们熟悉界面变化时出现的各种消息,为以后的开发打下基础. 这里创建了类WindowsMessageMap ...

  3. ABCNet训练测试自定义数据集

    ABCNet:基于自适应贝塞尔曲线的实时端到端自然场景文字检测及识别网络 论文推荐ABCNet 论文链接 : https://arxiv.org/abs/2002.10200 官方开源代码: http ...

  4. FairMOT训练测试自定义数据集

    1.将自己的数据集(视频需转为一帧一帧的图片,转换工具Convert to JPG - Convert images, documents and videos to JPG (img2go.com) ...

  5. 创建Silverlight自定义启动画面

    每一款商业的Silverlight项目,为了体现项目个性化,都会有不同的界面设计,项目UI设计的第一步就是创建个性的自定义启动画面,本文将介绍如何创建Silverlight自定义启动画面,也就是经常说 ...

  6. Sencha应用程序的UI测试

    原文:http://www.sencha.com/blog/ui-testing-a-sencha-app/ 几个月前,笔者写了一篇题为<自动化单元测试>的文章,内容涉及开发人员如何为业务 ...

  7. DedeCMS实现自定义表单提交后发送指定QQ邮箱法

    https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=monline_3_dg&wd=dedecms 邮箱&oq=d ...

  8. 演练:创建和注册自定义 HTTP 模块

    本演练演示自定义 HTTP 模块的基本功能. 对于每个请求,都需要调用 HTTP 模块以响应 BeginRequest 和 EndRequest 事件. 因此,该模块在处理请求之前和之后运行. 如果 ...

  9. Spring Boot ApplicationContextRunner 测试指南

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 转载自公众号:锅外的大佬 关注我,回复口令获取可获取独家整理的学习资料: - 001:领取<Sp ...

最新文章

  1. mysql表结构 转 golang 结构体struct
  2. 嵌入式c语言汇编混合编程,嵌入式C语言和汇编语言的混合编程
  3. PT60报错(在表 $ 中午关键字$的输入项目T555Z)
  4. 【目录】python全栈工程师自动化+Py全栈+爬虫+Ai+python全栈工程师
  5. wxWidgets:wxCalendarCtrl 示例
  6. 如何使用SAP Analytics Cloud统计C4C系统每天新建的Lead个数和预测趋势
  7. 万字长文 - 解读功能开关 | IDCF
  8. matlab设置非平坦结构元,详解MATLAB/Simulink通信系统建模与仿真图书信息
  9. 微众银行软件测试笔试题,微众银行4月8日笔试题目及部分代码
  10. 原创内容将成网络视频的一支奇军
  11. JDBC连接数据库教程,以postgreSQL为例
  12. Asp.Net中备份还原SqlServer数据库
  13. Java开源 J2EE框架(一)
  14. VNX VMX and delete luns
  15. c语言对硬件编程,c语言直接对硬件操作可行吗?
  16. 使用bat脚本自动打开cmd并执行命令
  17. 机器学习笔记 - 简单了解模式识别
  18. 不值一提?开源CRM是否值得应用
  19. AI-语音处理理论和应用-语音识别、语音合成
  20. PS如何制作圆角矩形图片

热门文章

  1. python学习-列表的操作(常用函数均会介绍)
  2. 锁相环PLL/MMCM的使用
  3. 数学计算机培训反思,小学数学信息技术反思日志5
  4. iis创建php网站,iis怎么搭建php
  5. eplan可运行于linux系统吗,Eplan安装对电脑操作系统的要求
  6. c语言 fgets函数 去除换行符_C语言文件的打开和关闭
  7. java正则转义_Java 正则表达式 转义字符
  8. 原生android 全面屏,谷歌全面屏手机曝光!谷歌pixel2,安卓8.0+骁龙836!
  9. cpu不支持虚拟装linux,linux 查看cpu是不是支持虚拟化
  10. 8类网线利弊_网线买机制成品还是自己DIY?有这些点要注意