MFC-2消息处理

 

#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;

 

posted @ 2010-06-28 21:32  liulun  阅读(418)  评论(5编辑  收藏  举报