VB编程:无标题栏窗体移动和自定义鼠标样式-7

效果显示:
VB编程:无标题栏窗体移动和自定义鼠标样式-7

实现无边框效果:
窗体BorderStyle=0-None
图片框的BorderStyle=0-None

代码开始:
'---------实现移动无标题栏窗体API调用声明--------------------
Const HTCAPTION = 2
Const WM_NCLBUTTONDOWN = &HA1
Private Declare Function ReleaseCapture Lib "user32" () As Long
                         'ReleaseCapture释放鼠标捕获
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
                         'SendMessage向窗体传递消息
'-----------------------------------------------------------------

Private Sub Form_Load()
Picture1.MousePointer = 99    '设置鼠标样式为用户自定义
Picture1.MouseIcon = LoadPicture(App.Path & "\pen.ico")   '鼠标图标的路径
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then                '如果按下鼠标左键
        Dim ReturnVal As Long         '定义一个整型变量
        X = ReleaseCapture()          '释放鼠标捕获
        ReturnVal = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)
                                      '向窗体传递消息,实现窗体移动
    End If
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.Print
Picture1.Print
Picture1.Font = "华文行楷"
Picture1.FontSize = 20
Picture1.Print "               一封家书"
Picture1.Font = "宋体"
Picture1.FontSize = 10
Picture1.FontBold = False
Picture1.Print
Picture1.Print "                           独进青楼"
Picture1.Print
Picture1.Font = "华文行楷"
Picture1.FontSize = 16
Picture1.Print "                  情爱的xxx"
Picture1.Print
Picture1.Print "                  现在工作很忙吧?"
Picture1.Print
Picture1.Print "                  身体好吗?"
Picture1.Print
End Sub

关键说明:
1、开头那段代码看不懂?其实很简单,这个是API阅览器复制出来的,安装过vb6.0的电脑,可以右键打开VB6.0的安装位置,按如下路径查找就行:
Microsoft Visual Studio\COMMON\Tools\Winapi\APILOAD.EXE
打开之后依次点击:文件--》加载文本文件--》找到刚刚打开的路径文件夹Winapi,选中WIN32API.TXT,打开。
键入搜索:“ReleaseCapture”复制选定项里边的内容放到开头就可以了。(备注,此处需要删除里边的:Alias "ReleaseCapture",我百度过,知道上做出如下解释:一般的“第三方DLL文件”,都不会给你提供A版和W版的函数接口)
别忘了还有“SendMessage”这个可以直接复制过来用,不用做任何更改。
最开头的两句是Const函数定义的常量,为什么定义为这个数值,暂时没搞懂,如果有人懂,请留言指教,不胜感激。

VB编程:无标题栏窗体移动和自定义鼠标样式-7

2、Form_Load()这个过程其实可以省略,在Picture1属性中找到两个属性,设为相应的值即可。

      能阅读到这里你很棒了,为了让有幸来访的朋友容易研究这个效果,我把我做的程序打包上传至百度云,不知道会不会挂,挂了可以在博客下方留言,我发你邮箱。

链接:http://pan.baidu.com/s/1pLrTKWb 密码:1trm

之前在百度贴吧发现一个不错的帖子,是关于UI设计类的,可以一起参考一下:





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值