zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    Typora集成免费图床:PicGo + Gitee
    Github shields徽章配置方法介绍
    Python爬虫的简易流程
    MVC学习系列——Filter扩展
    MVC学习系列——ActionResult扩展
    JQuery插件,傻傻分不清!
    闲谈前端编码解码、C#编码解码。
    年终总结和职业规划
    MVC学习系列——记一次失败面试后,感想。
    C/C++四种退出线程的方法
  • 原文地址:https://www.cnblogs.com/pythonschool/p/2956145.html
Copyright © 2011-2022 走看看