zoukankan      html  css  js  c++  java
  • MFC学习笔记HellowWorld

    VS2008->新建->vsual c++->常规->空项目

    添加个头文件,代码如下

    class CMyApp:public CWinApp
    {
    public:
    	virtual BOOL InitInstance();
    };
    class CMyFrame:public CFrameWnd
    {
    public:
    CMyFrame();
    protected:
    	afx_msg void OnLButtonDown(UINT NfLAGS,CPoint point);
    	afx_msg void OnPaint();
    	DECLARE_MESSAGE_MAP()
    };



    添加个源文件,代码如下

    #include <afxwin.h>
    #include "MyApp.h"
    
    CMyApp theApp;
    
    BOOL CMyApp::InitInstance()
    {
    	m_pMainWnd = new CMyFrame();
    	m_pMainWnd->ShowWindow(m_nCmdShow);
    	m_pMainWnd->UpdateWindow();
    	return true;
    }
    
    BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd)
    	ON_WM_LBUTTONDOWN()
    	ON_WM_PAINT()
    END_MESSAGE_MAP()
    
    CMyFrame::CMyFrame()
    {
    	Create(NULL,"MYAPP Application");
    }
    void CMyFrame::OnLButtonDown(UINT nFlags,CPoint point)
    {
    	TRACE("Entering MyApp - %lx,%d,%d\n",(long)nFlags,point.x,point.y);
    }
    void CMyFrame::OnPaint()
    {
    	CPaintDC dc(this);
    	dc.TextOutA(0,0,"Hello,world");
    }

    项目-》属性-》配置属性-》常规-》项目默认值-》MFC的使用-》在共享 DLL 中使用 MFC
    同样在配置属性中-》连接器-》高级-》入口点-》WinMainCRTStartup

    然后项目可正常运行

    下面挑一部分内容解释一下这个程序

    程序运行先构造一个CWinApp派生出来的类的对象(MFC框架决定的)
    就是这个对象:CMyApp theApp;

    MFC内部有一个WinMain函数
    这个函数是程序的入口点,函数执行过程中发现了CMyApp 的对象,即执行它的InitInstance函数
    此函数负责主窗口的构造和显示工作

    我们可以看到在InitInstance程序中创建了一个继承自CFrameWnd的CMyFrame类
    这就是代表窗口的类

    OnLButtonDown是鼠标左键按下的事件
    此处事件做的工作是在调试窗口输出鼠标的坐标
    OnPaint是窗口的重绘事件

    就解释到这里

  • 相关阅读:
    Features for Multi-Target Multi-Camera Tracking and Re-identification论文解读
    CBAM(Convolutional Block Attention Module)使用指南
    j2ee web项目 ssh 中使用junit测试
    log4j 发送日志到邮箱
    java.util.ConcurrentModificationException
    java 项目 报错
    json 传参数到action中 乱码
    TOMCAT 信息
    action 纯注解 笔记
    java 上传图片 打水印
  • 原文地址:https://www.cnblogs.com/liulun/p/1567320.html
Copyright © 2011-2022 走看看