1 dialog中的.tree的“+”“-” win7下的资源管理器确是三角形,看起来比较好看 ,实现方法
是windowTheme的问题, 在OnInitDialog()中调用SetWindowTheme(GetDlgItem(IDC_TREE1)->m_hWnd, L"Explorer", NULL);当然别忘了加载lib文件,#pragma comment(lib, "UxTheme.lib")
这样就变成三角号了~
2 dialog中的控件是vc6.0的风格,线条比较硬,改成xp或者win7的
a) 如果是新建工程
如果用VS2008 (2010也是)则在生成工程向导中,在“高级功能设定中”,勾选“公共控件清单”项。然后编译工程时按照上述方式选择“生成清单”。 清单自动生成并包含支持Microsoft.Windows.Common-Controls.
b) 如果创建工程时,没有设置此选项,我们可以后期在Project propert/ linker/ Manifest/ 附加清单依赖项:
添加type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='X86' publicKeyToken='6595b64144ccf1df' language='*'
建立一个文件,内容为:
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- <assemblyIdentity
- version="1.0.0.0"
- processorArchitecture="X86"
- name="XP style manifest"
- type="Win32"
- />
- <dependency>
- <dependentAssembly>
- <assemblyIdentity
- type="Win32"
- name="Microsoft.Windows.Common-Controls"
- version="6.0.0.0"
- processorArchitecture="X86"
- publicKeyToken="6595b64144ccf1df"
- language="*"
- />
- </dependentAssembly>
- </dependency>
- </assembly>
保存为后缀为manifest的文件,然后在VS当中添加资源当中导入,导入后如图:
资源类型一定要是24,否则无效.
然后用文件方式打开RC文件,修改其ID名为IDR_MAINFRAME
在string table当中添加一个选项:
名称为"IDR_MAINFRAME",值为"1"
这样就可以使用WIN7/XP风格的控件了