SetWindowTheme 和 OpenThemeData 怎么总是调用不成功

exceed_me 2009-04-14 04:02:33
一个老外例子,用以改变 CListCtrl 的风格的,使其具有 XP explorer 的风格,代码就几句话,如下


void CListXX::EnableExplorerStyle()
{
if (m_winver >= 0x0600 && m_visualStyle == Present && !m_bExplorerStyle)
if (SetWindowTheme(m_pListCtrl->m_hWnd, L"Explorer", 0) == S_OK)
{
m_pListCtrl->SetBkColor(RGB(255, 255, 255));
if (m_pListCtrl->GetStyle() & LVS_OWNERDRAWFIXED)
m_hTheme = OpenThemeData(m_pListCtrl->m_hWnd, L"ListView");
m_bExplorerStyle = true;
}
}


但是说 SetWindowTheme 和 OpenThemeData 没有定义,他那个工程是 VS2003/2005/2008 的,编译没问题,察看了下设置,也就只是在 link 里加了个 UxTheme.lib 而已,而我只是用 VC6.0,也这样设置,怎么就不行

用 DLL 里调用么总是报错,怎么回事?
...全文
1136 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangze6000 2011-10-08
  • 打赏
  • 举报
回复
VC6.0是在2000年之前的产品,theme是在XP上才会有的,所以VC6.0不支持uxtheme
exceed_me 2009-04-17
  • 打赏
  • 举报
回复
谢谢大家,我装了 SDK 2003 就可以了!
捕鲸叉 2009-04-15
  • 打赏
  • 举报
回复
你的头文件包含了吗?
lwd4210 2009-04-14
  • 打赏
  • 举报
回复
完全同意
[Quote=引用 1 楼 oyljerry 的回复:]
SetWindowTheme 这个函数需要uxtheme.h和UxTheme.lib,
如果没有h文件,需要安装新的SDK等
[/Quote]
oyljerry 2009-04-14
  • 打赏
  • 举报
回复
SetWindowTheme 这个函数需要uxtheme.h和UxTheme.lib,
如果没有h文件,需要安装新的SDK等

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧