HWND m_hDlg; public: //记录系统中所有每一个对话框窗口和其对应的LxpSkin类 static CMap< HWND, HWND, CLxpSkin* , CLxpSkin*>m_mapSkin; static BOOL InstallSkin(HWND hDlg); static void UnInstallSkin(HWND hDlg); }; 使用方法如下: 当做完上面的类之后你要做的就是在每个Dialog的OnInitDialog里面写上:CLxpSkin::InstallSkin( m_hWnd) 在OnDestroy()里面写上CLxpSkin::UnInstallSkin(m_hWnd); 对应的Cpp文件如下: CMap< HWND, HWND, CLxpSkin*, CLxpSkin*>CLxpSkin::m_mapSkin; CLxpSkin::CLxpSkin(HWND hDlg):m_btnList(10),m_hDlg(hDlg) { } CLxpSkin::~CLxpSkin() { POSITION pos=m_btnList.GetHeadPosition(); while(pos != NULL) { delete m_btnList.GetNext(pos); } pos=m_edtList.GetHeadPosition(); while(pos != NULL) { delete m_edtList.GetNext(pos); } pos=m_lineList.GetHeadPosition(); while(pos != NULL) { delete m_lineList.GetNext(pos); } pos=m_cmbList.GetHeadPosition(); while(pos != NULL) { delete m_cmbList.GetNext(pos); } pos=m_chkList.GetHeadPosition();
|