1.如何停止皮肤文件???
下面这两个函数好像都有问题!
RemoveWindowSkin(m_hWnd); //停止本窗口的皮肤
RemoveDialogSkin(); //停止对话框的皮肤,好像如果本窗口是对话框的话,对本窗口无用啊~~~~~~譬如说我在主对话框窗口用SetWindowSkin设置本窗口的皮肤
RemoveWindowSkin(m_hWnd);
SetWindowSkin(m_hWnd,_T("Dialog"));
但是加入我在这个对话框内有creat了一个对话框,而子对话框又是用SetWindowSkin设置的皮肤!上面的停止皮肤的代码就没有作用.
还有就是停止了皮肤以后如何立即刷新??2,如何为单个的同一类型的控件设置不通的皮肤??譬如说我有两个edit,都是CEdit类的,我在smf皮肤文件里面分别为这两个控件设置了不同的颜色定义,该如何用在一个窗口或者不同窗口内???3,好像跟tab控件有冲突,debug版本有断言错误!
下面这两个函数好像都有问题!
RemoveWindowSkin(m_hWnd); //停止本窗口的皮肤
RemoveDialogSkin(); //停止对话框的皮肤,好像如果本窗口是对话框的话,对本窗口无用啊~~~~~~譬如说我在主对话框窗口用SetWindowSkin设置本窗口的皮肤
RemoveWindowSkin(m_hWnd);
SetWindowSkin(m_hWnd,_T("Dialog"));
但是加入我在这个对话框内有creat了一个对话框,而子对话框又是用SetWindowSkin设置的皮肤!上面的停止皮肤的代码就没有作用.
还有就是停止了皮肤以后如何立即刷新??2,如何为单个的同一类型的控件设置不通的皮肤??譬如说我有两个edit,都是CEdit类的,我在smf皮肤文件里面分别为这两个控件设置了不同的颜色定义,该如何用在一个窗口或者不同窗口内???3,好像跟tab控件有冲突,debug版本有断言错误!
RemoveWindowSkin(m_hWnd);
VERIFY( 1 == LoadSkinFromResource(
AfxGetInstanceHandle(), _T("XPSTEEL") , _T("SKINMAGIC") ) );
if (!m_bSkin)
{
SetWindowSkin(m_hWnd,_T("Dialog"));
}
即在skinbuilder里将控件的controlID和在VC的Resource.h中控件的ID设为一样就可以了另外我用的是1.8版
除了有内存泄漏外 没发现什么问题
起初我还以为是vc的问题呢不过用setwindowsize可以实现精确控制控件大小
【2】问题已经自己解决!就是: zhiheng所说的办法,不过我是自己摸索出来的,我在同一个对话框内设置了3个static控件,一个用smf文件默认的,另外两个用我自己在smf里面自己定义的,把ID设置成和那个的一样,就OK了!【3】不仅跟tab,刚才我发现跟slider也有冲突,都是在停止皮肤以后,就是在调用它的RemoveWindowSkin(m_hWnd)函数之后退出程序,就出现assert错误,具体位置在这两个控件的析构函数里面!
调用父类的DestoryWindow函数里面的错误!
#ifdef _DEBUG
ASSERT(pMap->LookupPermanent(hWndOrig) == NULL);
#endif【4】不断在几个皮肤之间却换会出现窗口变形!!!!
这个问题是这样的,如果你停止了皮肤,再次启用皮肤,就会出现变形!
如果单纯在几个皮肤之间却换,不会出现变形!LRESULT CTestDlg::ShowSkin(CString strSkinName)//这样不会出现变形
{
VERIFY( 1 == LoadSkinFromResource( AfxGetInstanceHandle(),
strSkinName , _T("SKINMAGIC") ) );
if (!m_bSkin)
{
SetWindowSkin(m_hWnd,_T("Dialog"));
}
return 0;
}=================================================================
所以,归根结底,1,3,4问题都跟停止皮肤有关系!我的意思是想在程序里面实时的使用皮肤以及卸载皮肤,谁还有比较完美的办法吗?
拜托你亲自实践一下再来发言!!!!
使用SetSingleDialogSkin设置,不是设置的全部!而是单个的,我就怀疑你自己亲自试验过没有就在这里大放厥词!!!
还有我自己已经解决单个窗口的换肤,在这里鄙视一下你们这些没有实践的人!!!就象上午在MSN跟_J_问一个DLL问题,后来_J_把一个csdn叫什么笨猫的三星拉了进来,我靠,都是一些什么人啊,凭自己想像说话,我faint,自己没有动手试验就在那里瞎评论.我真怀疑这个人的严谨态度和水平!!!!
不过~
它还存在很多问题,莫名其妙的问题我来学习一样
大爷不稀罕,我只尊敬自己动手实践在评论的,象你这种垃圾,滚你妈的一边去!!!
============
你的ID有点吓人