• C++实例 自建基本mfc生成消息窗口和消息响应


    #include <afxwin.h>
    #include "resource.h" //载入资源文件所使用的头文件
    
    class MyFrame:public CFrameWnd //建框架视窗 第二步
    {
    private:
        CMenu *FMenu;
    public:
        MyFrame() //构造函数
        {
            Create(NULL, "Hello World!");
            FMenu = new CMenu;
            FMenu->LoadMenu(IDR_MENU1);
            SetMenu(FMenu);
        }
    
        ~MyFrame() //析构函数
        {
            delete FMenu;
        }
    
        afx_msg void OnExit() //ID_MENUITEM40002的响应函数
        {
            MessageBox("Exit1");
            DestroyWindow();
        }
    
        afx_msg void OnLButtonDown( UINT nFlags, CPoint point )
        {
            SetCapture();
            //当鼠标左键按下后的回应函数, 取得鼠标讯息接收权
        }
    
        afx_msg void OnMouseMove( UINT nFlags, CPoint point ) //当鼠标移动时的响应函数
        {
            if(this == GetCapture()) //判断鼠标光标是否在视察之上
            {
                CClientDC MyDC(this); //建立一个画布
                MyDC.SetPixel(point, RGB(255, 0, 0)); //利用SetPixel在画布上点出红点
                
            }
        }
    
        afx_msg void OnLButtonUp( UINT, CPoint ) //当鼠标弹起的响应函数
        {
            ReleaseCapture(); //释放鼠标讯息接收权
        }
    
        DECLARE_MESSAGE_MAP() //声明讯息映射表
    };
    
    BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd) //建立MyFrame类别的讯息映射表
        
        ON_COMMAND(ID_MENUITEM40002, OnExit)
        ON_WM_LBUTTONDOWN()
        ON_WM_MOUSEMOVE()
        ON_WM_LBUTTONUP()
    
    END_MESSAGE_MAP()
    
    class MyApp:public CWinApp //先建应用程序 第一步
    {
    public:
        BOOL InitInstance() //程序进入点
        {
            CFrameWnd *Frame = new MyFrame; //声明视窗
            m_pMainWnd = Frame;
    
            //Frame->Create(NULL, "Hello World!");
            Frame->ShowWindow(SW_SHOW); //显示视窗
    
            return true;
        }
    };
    
    MyApp a_app; //声明应用程序控件
    学习笔记转摘于: 丝酷网 http://www.pythonschool.com/
  • 相关阅读:
    tmux 的基本使用
    ffmpeg(1) 基础框架
    VUE页面跳转方式
    nextcloud 中文乱码解决方案
    mysql8 navicat远程链接失败
    prometheus+grafana实现服务监控
    sqlalchemy ————关联表
    Python flask自定义异常信息,返回json格式的异常
    sqlalchemy 查询结果转json个人解决方案
    Linux添加字体
  • 原文地址:https://www.cnblogs.com/pythonschool/p/2956145.html
Copyright © 2020-2023  润新知