我用skinmagic给单文档程序换肤时,对话框都换过来了,就是mainfrm不行

2025-01-06 13:01:51
推荐回答(1个)
回答1:

前提:你的skinmagic库已成功引入
在YourApp.cpp的InitInstance()中,添加 VERIFY( 1 == InitSkinMagicLib( AfxGetInstanceHandle(), _T("Demo") , NULL, NULL ) );

if ( 1 == LoadSkinFile( _T("皮肤文件名.smf" ) ))
{

VERIFY( 1 == SetWindowSkin( m_pMainWnd->m_hWnd,_T("MainFrame") ));

}
注意:要在m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();之前

皮肤文件中要有mainframe(带菜单的)

另外,注意重写int YourApp::ExitInstance()
{
// TODO: 在此添加专用代码和/或调用基类
ExitSkinMagicLib();
return CWinApp::ExitInstance();
}