使用mfc手写窗口程序

本文详细介绍了使用MFC(Microsoft Foundation Classes)创建Windows应用程序的过程,包括CWinApp和CFrameWnd类的使用,以及关键的InitInstance方法和消息映射。通过实例展示了如何响应鼠标左键点击和键盘输入事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件.h:

#include<afxwin.h>//mfc头文件

class MyApp :public CWinApp//CWinApp应用程序类
{
public:
	//程序入口
	virtual BOOL InitInstance();
private:

};

class MyFrame :public CFrameWnd//窗口框架类
{
public:
	MyFrame();
	
	//声明宏,提供消息映射机制
	DECLARE_MESSAGE_MAP()

	afx_msg void OnLButtonDown(UINT, CPoint);
	afx_msg void OnChar(UINT, UINT, UINT);


private:

};


cpp文件:

#include"mcf.h"

MyApp app;//全局应用程序对象,有且仅有一个
BOOL MyApp::InitInstance()
{
	//创建窗口
	MyFrame *frame = new MyFrame;

	//显示和更新
	frame->ShowWindow(SW_SHOWNORMAL);
	frame->UpdateWindow();

	m_pMainWnd = frame;//m_pMainWnd保存指向应用主窗口的指针

	
	return TRUE;//返回正常初始化
}


//分界宏(和声明宏一起的)
BEGIN_MESSAGE_MAP(MyFrame, CFrameWnd)
	ON_WM_LBUTTONDOWN()//鼠标左键按下
	ON_WM_CHAR()//键盘按下


END_MESSAGE_MAP()
MyFrame::MyFrame()
{
	Create(NULL, TEXT("MFC"));//第一个参数为NULL,代表默认预定义的窗口属性,第二个表示窗口名称
}

void MyFrame::OnLButtonDown(UINT, CPoint point)
{
	TCHAR buf[1024];
	wsprintf(buf, TEXT("x = %d,y = %d"), point.x, point.y);

	MessageBox(buf);
}

void MyFrame::OnChar(UINT key, UINT, UINT)
{
	CString str;
	str.Format(TEXT("按下了%c键"), key);

	MessageBox(str);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值