MFC-2消息处理

简介: #include #include "resource.h" class MyFrame:public CFrameWnd { private: CMenu *FMenu; public: MyFrame() { Create(NULL,"Hello MFC"...

 

#include <afxwin.h>
#include "resource.h"

class MyFrame:public CFrameWnd
{
private:
	CMenu *FMenu;
public:
	MyFrame()
	{
		Create(NULL,"Hello MFC");//建立窗口
		FMenu = new CMenu;//产生菜单
		FMenu->LoadMenu(IDR_MENU1);//加载菜单
		SetMenu(FMenu);//设置窗口使用的菜单
	}
	~MyFrame()//析构函数
	{
		delete FMenu;
	}
	afx_msg void OnExit()
	{		
		MessageBox("TEST");
		MessageBox("Exit1");
		DestroyWindow();//关闭窗口
	}
	afx_msg void OnLButtonDown(UINT nFlags,CPoint point)
	{
		SetCapture();//取得鼠标消息接收权
	}
	afx_msg void OnMouseMove(UINT nFlags,CPoint point)
	{
		if(this == GetCapture())//鼠标光标在窗口上
		{
			CClientDC aDC(this);//建立画布
			aDC.SetPixel(point,RGB(255,0,0));//SetPixel画红点
		}
	}
	afx_msg void OnLButtonUp(UINT nFlags,CPoint point)
	{
		ReleaseCapture();//释放鼠标消息接收权
	}
	DECLARE_MESSAGE_MAP()//声明消息映射
};

BEGIN_MESSAGE_MAP(MyFrame,CFrameWnd)//建立MyFrame类的消息映射
	ON_COMMAND(ID_EXIT1,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->ShowWindow(SW_SHOW);//显示窗口
		return true;
	}
} a_app;

 

目录
相关文章
|
7月前
MFC消息映射机制
MFC消息映射机制
53 0
04 MFC - 消息映射
04 MFC - 消息映射
58 0
|
开发工具 Windows
MFC中自定义消息
MFC中自定义消息
191 0
|
存储 容器 数据格式
DuiLib消息处理剖析
本来想自己写写duilib的消息机制来帮助duilib的新手朋友,不过今天发现已经有人写过了,而且写得很不错,把duilib的主干消息机制都说明了,我就直接转载过来了,原地址:http://blog.
1709 0
|
Windows
MFC消息机制
何谓消息、消息处理函数、消息映射?消息简单的说就是指通过输入设备向程序发出指令要执行某个操作。具体的某个操作是你的一系列代码。称为消息处理函数。 在SDK中消息其实非常容易理解,当窗口建立后便会有一个函数(窗口处理函数)开始执行一个消息循环,我们还可以清楚的看到消息处理的脉络。
1058 0
|
消息中间件 程序员 Windows
|
Windows
MFC自定义消息
本文地址:http://blog.163.com/strive_only/blog/static/893801682010101911467765/ 消息机制是windows的典型运行机制,在MFC中有很多的消息如WM_BTN**等。
1131 0
|
消息中间件 开发工具
MFC的消息机制
MFC的消息循环(::GetMessage,::PeekMessage)消息泵(CWinThread::PumpMessage)和MFC的消息在窗口之间的路由是两件不同的事情 分两个步骤完成: 1 “消息派送”:非对话框程序(MFC Doc/View架构)和对话框程序略有不同,但原理相差不大。
1321 0