一个老外例子,用以改变 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 里调用么总是报错,怎么回事?