50 lines
963 B
C++
50 lines
963 B
C++
#if !defined(__KTMENURESOURCE_H__)
|
|
#define __KTMENURESOURCE_H__
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
#include "KTMenuBase.h"
|
|
|
|
class KTMenuResource : public KTMenuBase
|
|
{
|
|
DECLARE_SERIAL(KTMenuResource)
|
|
|
|
public:
|
|
// 析构与构造
|
|
KTMenuResource();
|
|
virtual ~KTMenuResource();
|
|
|
|
// 清除资源信息
|
|
void Clean();
|
|
|
|
// 序列化
|
|
virtual void Serialize(CArchive& ar);
|
|
|
|
// 通过菜单文件文本行创建相关子项
|
|
virtual KTMenuBase* CreateItem(CString& sLine);
|
|
|
|
// 获取资源
|
|
BOOL GetResource(LPCTSTR pszRes, LPCTSTR& pszIcon, LPCTSTR& pszInfo) const;
|
|
LPCTSTR GetResourceIcon(LPCTSTR pszRes) const;
|
|
HBITMAP GetResourceIcon(HINSTANCE hRes, LPCTSTR pszRes);
|
|
LPCTSTR GetResourceInfo(LPCTSTR pszRes);
|
|
|
|
protected:
|
|
// 资源信息[KTResItem]
|
|
CMapStringToPtr m_mapItem;
|
|
|
|
class KTResItem
|
|
{
|
|
public:
|
|
KTResItem() {}
|
|
~KTResItem() {}
|
|
|
|
CString m_sIcon;
|
|
CString m_sInfo;
|
|
};
|
|
};
|
|
|
|
#endif // !defined(__KTMENURESOURCE_H__)
|