
VB中实现圆角窗口
将Form的BorderStyle属性设为0,然后写上如下代码:
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As LongPrivate 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,即可让内容发生变化的窗口自动切换到前台
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)