其实 MSDN 里面已经很明确的说明了,不仅仅需要 TTS_CLOSE (0x80),而且还要让你自己实现 XP 风格,也就是下面常用的两种方法:
1、在可执行文件里插入一个资源类型为 24,ID 号为 1 的资源实现 XP 风格,资源 1 的内容见方法 2。
2、在应用程序目录添加一个和应用程序同名的.exe.manifest文件,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="把这里换成你的应用程序名"
processorArchitecture="x86"
version="1.0.0.0"
type="win32"/>
<description>把这里换成你的应用程序描述</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
这样的话如果你的程序在 Windows XP 或 2003 下运行就有关闭按钮的效果了,甚至还可以加上链接,其实只需一个标志 TTF_PARSELINKS (0x1000),然后如果你的提示信息里面如果有 <A>...</A> 这样的内容的话,那 至 之间的内容就是要显示为链接的文本。
注意:在程序初始化时先调用一下 InitCommonControls 这个 API 函数。