制作Vista/7 User Frame 控件? (WinAPI)

Posted

技术标签:

【中文标题】制作Vista/7 User Frame 控件? (WinAPI)【英文标题】:Making Vista / 7 User Frame control? (WinAPI) 【发布时间】:2011-03-06 00:44:56 【问题描述】:

我注意到 Vista/7 使用这种类型的控件以及 Windows Live Messenger。这是控件:

如何以编程方式将此控件添加到 WinAPI 应用程序?

谢谢

【问题讨论】:

这就是我所说的赏金! :) 希望现在有人能想出办法。 【参考方案1】:

这几乎是你想要的(但令人惊讶地远非如此):

t := OpenThemeData(Handle, 'STARTPANEL');
DrawThemeBackground(t, Canvas.Handle, SPP_USERPICTURE, 0, rect(10, 10, 100, 100), nil);

(Delphi 代码,但只有 WinAPI 函数。)

也许其他部分更适合你:http://msdn.microsoft.com/en-us/library/bb773210(VS.85).aspx

【讨论】:

【参考方案2】:

此资源是 explorer.exe 资源中的 Bitmap 7016。它是一个 32 位的位图,所以它有一个额外的 Alpha 通道。这就是它的完成方式。

【讨论】:

干得好!但是有几个相关的问题:这是一个未记录的功能吗?将位图添加到自己的应用程序中会侵犯版权吗? @Andreas Rejbrand 我不确定,但如果你想看的话,我已经上传了原生的。

以上是关于制作Vista/7 User Frame 控件? (WinAPI)的主要内容,如果未能解决你的问题,请参考以下文章

新浪微博客户端(23)-计算Cell内控件的frame

Python制作输入式计算器

我如何在 Windows(xp、vista、7)欢迎屏幕或锁定屏幕(如 VNC 或 Dame Ware)中进行交互

IOS 制作动画代码和 设置控件透明度

delphi中添加frame控件的问题

VB中使用Frame时覆盖了其他控件如何解决??