一个老外例子,用以改变 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 里调用么总是报错,怎么回事?
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 里调用么总是报错,怎么回事?
解决方案 »
- sizeof(IOleObject)与sizeof(IOleObject *)一点疑问
- UDP发送视频帧数据,改变在client端的显示比例,请帮忙!!!
- 谁有vc++ dailog 方面的资料最好全一点的有例题最好
- NT服务和应用程序之间如何传递消息??
- 哪里有好的图标和位图资源,请给几个链接,谢谢
- 谁知道IWebBrowser中所有事件的常数定义是怎样的?告知即给分!!!
- 获取焦点
- 我已经掌握了VC,我想看看驱动程序地书,应该看什么书?
- VB编写的COM组件DLL是否真的支持双接口(dual)?
- 关于遗传算法问题
- 调用CView* pView=(CView*)m_wndSplitter.GetPane(0,1)出错误
- 各位大侠帮忙,谢谢!
如果没有h文件,需要安装新的SDK等