2014-03-25 89 views
0

有谁知道Windows在Win 7(Aero theme)和Win 8中使用哪个API绘制窗口标题? 我试着用API监视工具来检查,但没有看到任何API来绘制标题。在Windows 7中绘制窗口标题的窗口API 8

请指教。

谢谢。

+0

请为自己显示一些功夫! –

+0

@duongkha你可能会添加一个屏幕截图(必须通过链接到图像共享网站)来显示你想要绘制自己的窗口部分。 –

回答

4

自从我做了这些事情已经很长时间了,但只是使用Google搜索(三个搜索词组尝试)我最终在DrawFrameControl

声明:尚未测试。


更新:如在评论中所指出DrawFrameControl不会做的工作。简单的测试表明,既不会DrawCaption。显然必须使用主题功能,为此我找到了一个在(http://msdn.microsoft.com/en-us/library/windows/desktop/bb688195%28v=vs.85%29.aspx#appendixb)处绘制窗口标题的示例。本质上,此代码使用GetThemeSysFont获取字幕字体,然后使用DrawThemeTextEx来绘制字幕。

新的免责声明:没有测试过GetThemeSysFontDrawThemeTextEx组合,因为这变成了相当多的工作!


强制性烦恼描述:我得到真正恼火,当人们谁也不能回答的问题,继续downvote和/或关闭票的问题,因为显然发生了瞬间在这里,但是,有没有太多除非偶尔让读者意识到这个问题,就像我现在正在做的那样(做过两三次之前,多年)。

+1

我猜测insta-downvote是因为缺乏研究;我出于同样的原因弹出一面旗帜。快速搜索结果像[这个SO主题](http://stackoverflow.com/questions/7673040/winapi-create-resizable-window-without-title-bar-but-with-minimize-maximize-cl) ,其中提到'DrawFrameControl',或[这个主题](http://stackoverflow.com/questions/3822609/documentation-and-api-samples-for-drawing-on-windows-aero-glass-dwm-gdi-gdi )这都是关于DWM资源的。 +1,因为我仍然同意不降低你不理解的一般原则。 – computerfreaker

+0

如何判断Windows在Q中概述的设置中使用该API? –

+0

@DavidHeffernan:没有理由相信Windows使用其公共API来执行内部任务。相反,公共API可能会调用内部使用的内部API。不过,这种差异主要是学术性的:它不会影响你自己使用的API。 –