【开源项目】花密(Flower Password)VB版之窗体圆角模块

'*****************************************************************
' Copyright (c) 2011-2012 FlowerPassword.com All rights reserved.
'      Author : xLsDg @ Xiao Lu Software Development Group
'        Blog : http://hi.baidu.com/xlsdg
'          QQ : 4 4 7 4 0 5 7 4 0
'     Version : 1 . 0 . 0 . 0
'        Date : 2 0 1 2 / 0 4 / 0 7
' Description :
'     History :
'*****************************************************************
Option Explicit

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

Private Declare Function CreateRoundRectRgn _
                Lib "gdi32.dll" (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.dll" (ByVal hObject As Long) As Long

Private outrgn As Long

Public Function SetFormRgn() As Long
    SetFormRgn = rgnForm(FrmMain, 15, 15) '调用子过程

End Function

Public Function UnSetFormRgn() As Long
    UnSetFormRgn = DeleteObject(outrgn) '将圆角区域使用的所有系统资源释放

End Function

Private Function rgnForm(ByVal frmbox As Form, ByVal fw As Long, ByVal fh As Long) As Long

    Dim w As Long, h As Long, outrgn As Long

    w = frmbox.ScaleX(frmbox.Width, vbTwips, vbPixels)
    h = frmbox.ScaleY(frmbox.Height, vbTwips, vbPixels)
    outrgn = CreateRoundRectRgn(0, 0, w, h, fw, fh)
    rgnForm = SetWindowRgn(frmbox.hwnd, outrgn, True)

End Function


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值