vb圆角矩形窗体为何透明的那四个角在win7运行会有颜色,怎么弄掉

vb圆角矩形窗体为何透明的那四个角在win7运行会有颜色,怎么弄掉,第1张

VB中实现圆角窗口

将Form的BorderStyle属性设为0,然后写上如下代码:

Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long

Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Dim outrgn As Long

Private Sub rgnform(ByVal frmbox As Form, ByVal fw As Long, ByVal fh As Long)

    Dim w As Long, h As Long

    w = frmbox.ScaleX(frmbox.Width, vbTwips, vbPixels)

    h = frmbox.ScaleY(frmbox.Height, vbTwips, vbPixels)

    outrgn = CreateRoundRectRgn(0, 0, w, h, fw, fh)

    Call SetWindowRgn(frmbox.hwnd, outrgn, True)

End Sub

Private Sub Form_Load()

    Call rgnform(Me, 25, 25)

End Sub

Private Sub Form_Unload(Cancel As Integer)

    DeleteObject outrgn

End Sub

参考:http://www.mirll.com/portal.php?mod=view&aid=59

解决方法:

1、同时按下键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,输入regedit并单击回车,打开win7旗舰版电脑的注册表编辑器窗口;

2、在打开的注册表编辑器窗口中,依次点击展开HKEY_CURRENT_USER\Control Panel\Desktop;

3、然后找到里面的ForegroundLockTimeout的选项,双击打开该项,把这个数值改成10进制的任何6位数以上 (系统默认200000毫秒/十六进制30d40)就可以了。

拓展资料:

在Win7系统中,当一个后台窗口内容变化时,窗口对应的任务栏按钮会闪烁以此希望引起你的注意,而有时候光有提示是不够的,我们希望它能够自动切换到前台来。

如果希望系统让窗口自动切换到前台,打开注册表,依次点开“HKEY_CURRENT_USER\Control Panel\Desktop”,在右边双击“ForegroundLockTimeout”,把它的数据值修改为0,即可让内容发生变化的窗口自动切换到前台


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11825617.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存