00001 #ifndef __CWindowIcon__ 00002 #define __CWindowIcon__ 00003 00004 #include <Basics/CSystemString.hpp> 00005 using Exponent::Basics::CSystemString; 00006 00007 // =========================================================================== 00008 00009 namespace Exponent 00010 { 00011 namespace GUI 00012 { 00013 namespace Graphics 00014 { 00032 class CWindowIcon : public CCountedObject 00033 { 00035 EXPONENT_CLASS_DECLARATION; 00038 // =========================================================================== 00039 00040 public: 00041 00042 // =========================================================================== 00043 00047 CWindowIcon(); 00048 00053 CWindowIcon(const long resourceId); 00054 00055 #ifdef WIN32 00056 00060 CWindowIcon(HICON icon); 00061 #endif 00062 00066 virtual ~CWindowIcon(); 00067 00068 // =========================================================================== 00069 00075 CWindowIcon &operator = (const CWindowIcon &icon); 00076 00078 #ifdef WIN32 00079 00084 HICON getIcon() const; 00085 00090 void setIcon(HICON icon); 00092 #endif 00093 00095 // =========================================================================== 00096 00101 void loadIcon(const long resourceId); 00102 00108 void loadIcon(const CSystemString &path, const long resourceId = 0); 00109 00113 void unloadIcon(); 00114 00115 // =========================================================================== 00116 00117 protected: 00118 00119 // =========================================================================== 00120 00121 #ifdef WIN32 00122 HICON m_icon; 00123 #endif 00124 }; 00125 } 00126 } 00127 } 00128 #endif // End of CIcon