📄 message.h
字号:
//--------------------------------------------------
// Desc: 消息系统
// Date: 2006.10.30 /update
// Author: artsylee
//
// Copyright (C) 2006 artsylee
//
// 扩展: 增加一个指针参数(2006_11_24)
//
//--------------------------------------------------
#ifndef _MESSAGE_
#define _MESSAGE_
#include <Windows.h>
#include <vector>
#define MESSAGE_DELAY 10000
// 系统消息类型
#define MSG_SYS_GUI 0xff000001L
#define MSG_SYS_LOSTDEVICE 0xff000002L
class ASE_DLL CMessage
{
public:
DWORD m_dwType; // 类型
DWORD m_dwSource; // 来源
DWORD m_dwDestination; // 目的
DWORD m_dwParam1; // 参数1
DWORD m_dwParam2; // 参数2
void* m_pParam3; // 指针参数
DWORD m_dwGenerate; // 产生时间
DWORD m_dwDelay; // 执行时间(在此之后)
DWORD m_dwAvail; // 有效时间(在此之前)
CMessage();
CMessage(DWORD type, DWORD source = 0, DWORD dest = 0);
~CMessage();
void SetDelay(DWORD delay);
void SetAvail(DWORD avail);
void SetParameter(DWORD param1 = 0, DWORD param2 = 0, void* param3 = NULL);
};
class ASE_DLL CMessageManager
{
public:
CMessageManager();
~CMessageManager();
void PostMessage(CMessage msg);
void Begin();
bool PeekMessage(CMessage &msg, bool bRemove = true);
bool PeekMessage(int &index, CMessage &msg, bool bRemove = true);
void DeleteMessage(DWORD type);
void RemoveAll();
protected:
std::vector<CMessage> m_msgVector;
std::vector<CMessage>::iterator m_msgItor;
};
extern CMessageManager *g_pMessageManager;
ASE_DLL void __stdcall PostMessage(CMessage msg);
ASE_DLL bool __stdcall PeekMessage(int &index, CMessage &msg, bool bRemove = true);
ASE_DLL void __stdcall RemoveAllMessage();
#endif // _MESSAGE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -