注册 登录
编程论坛 C++教室

关于MFC应用的简单实现

新华社 发布于 2020-08-27 13:17, 1510 次点击

#include<afxwin.h>
class CMFCApplication2App :CWinApp {
public:
    virtual BOOL InitInstance();
};
class ssd :public CFrameWnd {
public:
    ssd();
protected:
    afx_msg void OnPaint();
    DECLARE_MESSAGE_MAP()//定义映射
};

extern CMFCApplication2App theApp;
CMFCApplication2App theApp;
BOOL CMFCApplication2App::InitInstance() {
    m_pMainWnd = new ssd;//声明了ssd的对象,构造函数调用创建窗口
    m_pMainWnd->ShowWindow(m_nCmdShow);
    m_pMainWnd->UpdateWindow();//用UpdateWindow给映射发消息
    return TRUE;//TRUE表明程序循环执行
}
BEGIN_MESSAGE_MAP(ssd, CFrameWnd)//接收一个派生类和一个基类
    ON_WM_PAINT()//调用OnPaint函数关联消息映射;
END_MESSAGE_MAP()
ssd::ssd() {
    Create(NULL, _T("HELLO?"));//创建窗口
}
void ssd::OnPaint() {
   
    CRect rect;//创建矩形的对象
    GetClientRect(&rect);//获取坐标
    CPaintDC dc(this);//CPaintDC的对象,CPaintDC是设备描述表,而例如CPen之类的则是设备描述表的属性
    dc.SetMapMode(MM_ISOTROPIC);
    dc.SetWindowExt(500, -500);
    dc.SetViewportExt(rect.Height(), rect.Width());
    dc.Rectangle(0, 0, 5000, -20);
 
}

//特殊消息映射宏:ON_COMMAND:将菜单和其他UI事件映射到类成员函数。
//另外::MFC真的简单
0 回复
1