resource.h

来自「一个更为先进的嵌入式操作系统.采用RMS线程调度算法,具有信号量等同步对象.亦包」· C头文件 代码 · 共 47 行

H
47
字号
#ifndef _GOS_RESOURCE_H_
#define _GOS_RESOURCE_H_

#define MAKERESLOCALID(i) ((((i&0xff0000)-0x610000)<<10)|(((i&0xff00)-0x6100)<<13)|(((i&0xff00)-0x61)<<16))

enum _tagResource
{
	LOCALID_ENG='eng',
	LOCALID_CHS='chs',
	LOCALID_CHT='cht',
	RESTYPE_SYTEM=0xffff0000,
	RESTYPE_DATA=0xfffe0000,
	RESTYPE_ICON=0xfffd0000,
	RESTYPE_BITMAP=0xfffc0000,
};

typedef struct _tagRESOURCEINDEX
{
	DWORD nResID;
	PCVOID pData;
}RESOURCEINDEX,*PRESOURCEINDEX;

class CResource
{
public:
	BOOL CreateResource(PRESOURCEINDEX pResIndex,int nDataOffset,DWORD nLocalID);
	void CloseResource();
	PCVOID LoadResource(DWORD nResID);
	PCVOID LoadData(DWORD nResID)
		{ return (PCVOID)LoadResource(nResID|RESTYPE_DATA); }
	const CBitmap* LoadBitmap(DWORD nResID)
		{ return (const CBitmap*)LoadResource(nResID|RESTYPE_BITMAP); }
	LPCTSTR LoadString(DWORD nResID)
		{ return (LPCTSTR)LoadResource(nResID|m_nLocalID); }
	LPCTSTR LoadString(DWORD nResID,DWORD nLocalID)
		{ return (LPCTSTR)LoadResource(nResID|MAKERESLOCALID(nLocalID)); }
public:
	CResource(void);
	~CResource(void);
private:
	PRESOURCEINDEX m_pResIndex;
	int m_nDataOffset;
	DWORD m_nLocalID;
};

#endif _GOS_RESOURCE_H_

⌨️ 快捷键说明

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