⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmessagebase.h

📁 这是一个程序的一般架构方法
💻 H
字号:
//-- {CycleCode: 16} file [0..4212]
//-- {StartSubRegion: 17} module.additionalDeclarations preserve=yes [0..539]
//-- {CycleCode: 1} file [0..3311]
//-- {StartSubRegion: 2} module.additionalDeclarations preserve=yes [0..425]
//-- {CycleCode: 55} file [0..2088]
//-- {InsertRegion: 68} module.vulnerableDeclarations [0..229]
//## begin module.additionalDeclarations preserve=yes
// Copyright (C) 1991 - 1999 Rational Software Corporation

#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_CMESSAGEBASE_43227B4A0148_INCLUDED
#define _INC_CMESSAGEBASE_43227B4A0148_INCLUDED

//## end module.additionalDeclarations
//-- {StartSubRegion: 18} module.additionalDeclarations preserve=yes [540..832]
//-- {AddDecl: 3} module.vulnerableDeclarations [426..563]
//## begin module.additionalDeclarations preserve=yes
//-- {AddDecl: 56} forward class generated [230..249]
class CMessageBase ;
//-- {AddDecl: 57} module.vulnerableDeclarations [250..408]
//## end module.additionalDeclarations
//-- {StartSubRegion: 19} module.additionalDeclarations preserve=yes [833..1164]
//-- {StartSubRegion: 4} module.additionalDeclarations preserve=yes [564..815]
//## begin module.additionalDeclarations preserve=yes

//声明
typedef void (CMessageBase::*USER_PMSG)(void );

//函数的类型
enum UserSig
{
	US_Sig_B_U = 0, // BOOL : UINT
};

//记录消息回调函数的参数
//## end module.additionalDeclarations
//-- {AddDecl: 20} class [1165..1483]
//-- {AddDecl: 5} class [816..1049]
//-- {AddDecl: 58} class [409..557]
struct MESSAGE_MAP_INFO
{
//-- {AddDecl: 21} region.generated [1265..1481]
//-- {AddDecl: 6} region.generated [879..1047]
//-- {AddDecl: 59} region.generated [435..555]
	UINT MessageID;
	UINT Grade;
	UINT ProcPrtID;//一个返回值,记录函数所放位置
	UserSig us;
	USER_PMSG ProcFunction;
};
//-- {AddDecl: 22} class [1484..1847]
//-- {AddDecl: 7} class [1050..1326]
//-- {AddDecl: 60} class [558..749]

union MessageMapFunctions
{
//-- {AddDecl: 23} region.generated [1591..1845]
//-- {AddDecl: 8} region.generated [1119..1324]
//-- {AddDecl: 61} region.generated [590..747]
	USER_PMSG pfn;   // generic member function pointer
	BOOL ( CMessageBase::* pfn_bu)(UINT);


//	void    (AFX_MSG_CALL CWnd::*pfn_vws)(UINT, LPCTSTR);
};
//-- {StartSubRegion: 24} region.other [1848..3085]
//-- {StartSubRegion: 9} region.other [1327..2512]
//-- {AddDecl: 62} module.vulnerableDeclarations [750..1780]
//## begin MessageMapFunctions.postscript preserve=yes

#define USER_DECLARE_MESSAGE_MAP \
private: \
	static MESSAGE_MAP_INFO messageInfo[]; \
	
#define USER_BEGIN_MESSAGE_MAP(theClass)\
	MESSAGE_MAP_INFO theClass::messageInfo[] = {

#define USER_END_MESSAGE_MAP \
	{0, 0, 0 ,(UserSig)0,0}\
	};


//定义所有的消息

//某个命令挂起
#define MESSAGE_CMD_SLEEP 10001
//typedef void ( CALLBACK * ONCMDSLEEP)( UINT uID );
#define OnCMDSLEEP(nGrade,FuncName) {MESSAGE_CMD_SLEEP , nGrade , 0 ,US_Sig_B_U, (USER_PMSG)(BOOL (AFX_MSG_CALL CMessageBase::*)(UINT nID))&FuncName} ,
//某个命令卸载
#define MESSAGE_CMD_UNLOAD 10002
//typedef void ( CALLBACK * ONCMDUNLOAD)( UINT uID );
#define OnCMDUNLOAD(nGrade,FuncName) {MESSAGE_CMD_UNLOAD , nGrade , 0 ,US_Sig_B_U, (USER_PMSG)(BOOL (AFX_MSG_CALL CMessageBase::*)(UINT nID))&FuncName} ,

//定义消息的等及
//系统使用
#define MB_SYS_GRADE 10
//透明命令使用
#define MB_CLARITY_GRADE 20
//用户使用
#define MB_USER_GRADE 30

//所有想要接收消息的类,都必须重载此类
//##ModelId=43227B4A0148
class CMessageManager;
//## end MessageMapFunctions.postscript
//-- {AddDecl: 25} class [3086..3968]
//-- {AddDecl: 10} class [2513..3120]
//-- {AddDecl: 63} class [1781..2029]
class CMessageBase
{
//-- {AddDecl: 26} region.generated [3185..3422]
//-- {AddDecl: 11} region.generated [2573..2703]
//-- {AddDecl: 64} region.generated [1803..1826]
public:
	//响应消息
//-- {AddDecl: 65} region.inlineAnnotation [1827..1853]
//-- {AddDecl: 12} region.inlineAnnotation [2704..2730]
//-- {AddDecl: 27} region.inlineAnnotation [3423..3449]
	//##ModelId=43227C8203B9
//-- {AddDecl: 28} region.generated [3450..3835]
//-- {AddDecl: 13} region.generated [2731..2987]
//-- {AddDecl: 66} region.generated [1854..1995]
//	virtual BOOL OnMessage(UINT MessageID, void * Param, void * Param1);
	//注册消息
	CMessageBase();
	void RegisterMessage( CMessageManager * pMM );
public:
//-- {AddDecl: 67} module.vulnerableDeclarations [1996..2027]
//-- {StartSubRegion: 14} class.initialDeclarations preserve=yes [2988..3118]
//-- {StartSubRegion: 29} class.initialDeclarations preserve=yes [3836..3966]
//## begin CMessageBase.initialDeclarations preserve=yes
	
	USER_DECLARE_MESSAGE_MAP
//## end CMessageBase.initialDeclarations
};
//-- {StartSubRegion: 30} region.other [3969..4212]
//-- {StartSubRegion: 15} region.other [3121..3311]
//-- {InsertRegion: 69} module.vulnerableDeclarations [2030..2088]
//## begin module.epilog preserve=yes

#endif /* _INC_CMESSAGEBASE_43227B4A0148_INCLUDED */
//## end module.epilog  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -