Foxtable(狐表)用户栏目专家坐堂 → [求助]取消透明窗口


  共有2216人关注过本帖树形打印复制链接

主题:[求助]取消透明窗口

帅哥哟,离线,有人找我吗?
zcgmxf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1636 积分:14459 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助]取消透明窗口  发帖心情 Post By:2016/1/28 15:22:00 [只看该作者]

给位大师,以前论坛里的让win7系统窗口透明的代码删除后窗口仍然透明,现在我想取消,删除代码后还是不行,该如何处理。请大师指点。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/28 15:27:00 [只看该作者]

具体些了什么代码?贴出看看。

 回到顶部
帅哥哟,离线,有人找我吗?
zcgmxf
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1636 积分:14459 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/1/28 15:46:00 [只看该作者]

找了一会:好像就是用下面的代码就可以实现win7玻璃样窗口了

全局代码:

Public Declare Function DwmIsCompositionEnabled Lib "dwmapi.dll" Alias "DwmIsCompositionEnabled" (ByRef pfEnabled As Boolean) As Integer
Public Declare Function DwmExtendFrameIntoClientArea Lib "dwmapi.dll" Alias "DwmExtendFrameIntoClientArea" (ByVal hWnd As IntPtr, ByRef pMargin As Margins) As Integer

Public Structure Margins
    Public Left As Integer
    Public Right As Integer
    Public Top As Integer
    Public Bottom As Integer
End Structure

Dim pMargins As Margins
Public Sub WIN7Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
    pMargins = New Margins
    pMargins.Top = 40
    Dim en As Boolean = False
    If System.Environment.OSVersion.Version.Major >= 6 Then  '如果是Vista系统或以上
        DwmIsCompositionEnabled (en) '取得是否开启了Aero效果
        If en Then
            DwmExtendFrameIntoClientArea(sender.Handle, pMargins)
            sender.TransparencyKey = Color.FromArgb(250, 250, 2)
            sender.BackColor = sender.TransparencyKey
        End If
    End If
End Sub

[此贴子已经被作者于2016/1/28 15:47:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/28 15:56:00 [只看该作者]

说明白你的问题,你想问什么?做例子看看。

 回到顶部
帅哥哟,离线,有人找我吗?
zcgmxf
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1636 积分:14459 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/1/28 16:16:00 [只看该作者]

用上面的代码可以使窗口边缘玻璃化。我现在不想用玻璃窗口了,删除了上面的代码,但是窗口玻璃边还是依然存在,在控制面板的个性化设置中设置好像没得用,该怎么办,谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/1/28 16:21:00 [只看该作者]

删除上面的代码,删除bin文件夹,重新打开项目看看是否正常。

 

不行的话,做个例子测试。


 回到顶部