在VB6中使用Win7的AeroGlass效果窗体

我的意思是说,整个窗口都是实心的AeroGlass效果,然后可以再、在VB中调试,从而在窗口中画出空的区域,像“魔方3“那样的窗口!... 我的意思是说,整个窗口都是实心的AeroGlass效果,然后可以再、在VB中调试,从而在窗口中画出空的区域,像“魔方3“那样的窗口! 展开
 我来答
我什么也不知道怎么回答
2012-01-31 · TA获得超过171个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:160万
展开全部
Private Type RECT '其实这结构体是MARGIN的结构体,但是MARGIN跟RECT一样的,所以使用RECT比较通用也比较顺眼
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type BLURBEHIND
Flags As Long '标志,一般设置为3
Enable As Long '是否开启客户区AERO效果
RGNBlur As Long '一个矩形的句柄,可以使用CreateEllipticRgn等函数创建矩形
Transition As Long
End Type
Private Declare Function DwmExtendFrameIntoClientArea& Lib "dwmapi" (ByVal Hwnd As Long, Margin As RECT) '扩展标题栏AERO效果
Private Declare Function DwmEnableBlurBehindWindow& Lib "dwmapi" (ByVal Hwnd As Long, Blur As BLURBEHIND) '使客户区AERO效果化
Private Declare Function DwmEnableComposition& Lib "dwmapi" (ByVal Enabled As Boolean) '开启或禁止AERO效果,True为开启,Flase为关闭
Private Declare Function DwmIsCompositionEnabled& Lib "dwmapi" (Enabled As Boolean) '判断AERO是否开启,True为开启
Private Sub Form_Load()
Dim sRT As RECT, sBlur As BLURBEHIND, isAero As Boolean
'DwmEnableComposition True
DwmIsCompositionEnabled isAero
If isAero Then '判断当前系统打开AERO效果
Me.BackColor = 0 '黑色为透明色
With sRT
.Top = 5
.Left = 5
.Bottom = 5
.Right = 20
End With
DwmExtendFrameIntoClientArea Me.Hwnd, sRT '扩展窗口边框
With sBlur
.Flags = 3 '标志表示更改Enable、和RGNBlur的信息
.Enable = 1 '开启客户区AERO效果
.RGNBlur = 0 '设置为0表示覆盖整个客户区
End With
DwmEnableBlurBehindWindow Me.Hwnd, sBlur '更改客户区AERO效果
End If
End Sub
更多追问追答
追问
谢谢,很有用!
但是怎么让Label文字也有Aero效果呢?就是标题栏的那个文字样子,周围是模糊的
还有,怎样才不让其他控件有光亮照着的效果?(比如说按钮、PictureBox,除了文字外)不要有Aero的光亮效果
如果你都回答了的话就再给你10分
追答
还是参考msdn吧,具体我也不是会很多.http://msdn.microsoft.com/en-us/library/aa969527(v=vs.85).aspx
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式