• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
在VB中实现移动没有标题栏的窗口
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
在VB中实现移动没有标题栏的窗口
软件发布 在VB中实现移动没有标题栏的窗口
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> VB & VB.NET教程 >> 在VB中实现移动没有标题栏的窗口

在VB中实现移动没有标题栏的窗口

添加时间: 2006-2-16 5:10:19  作者: VB教程  阅读次数:92   来源: http://www.d9soft.com

          方法一


  这种方法是在窗体的MouseDown、MouseUp和MouseMove等事件的处理过程中添加代码,实现在鼠标左键按下后移动时,改变窗体的Left和Top属性,实现移动无标题栏的窗体。

  进入VB,把窗体Form1的BorderStyle属性设置为0-None(无标题栏),再窗体上添加一个ButtonCommand组件,用来关闭程序。代码如下:

  Private Type POINT

   X As Single

   Y As Single

  End Type

  Dim FormP As POINT

  '记录窗体原始位置

  Dim MouseP As POINT

  '记录鼠标按下时的位置

  Dim MouseLButtonDown As Boolean

  '记录鼠标左键是否按下

  Private Sub Command1_Click()

   End '退出程序

  End Sub

  Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)

   FormP.X = Form1.Left

  '记下窗体原始坐标位置

   FormP.Y = Form1.Top

   MouseP.X = X

  '记下鼠标按下时的位置

   MouseP.Y = Y

   If Button = 1 Then

   MouseLButtonDown = True

  '鼠标左键按下

   End If

  End Sub

  Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)

   If MouseLButtonDown Then

   Form1.Left = FormP.X + (X - MouseP.X) '移动窗体

   Form1.Top = FormP.Y + (Y - MouseP.Y)

   End If

  End Sub

  Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)

   MouseLButtonDown = False

  '鼠标左键弹起

  End Sub

  上述方法不是很完善,制作出的窗体被拖动时,窗体会随鼠标的移动而移动。而在默认的Windows设置中拖动窗体时,被拖动的窗体不会随窗体的移动而移动,随窗体移动的仅是一个与窗体形状、大小一样的虚框,只有释放鼠标后,窗体才会移动到释放鼠标时虚框的所在处。要实现这种效果,请看第二种方法。

  方法二

  这种方法通过消息的发送实现移动无标题窗体。当鼠标按下、移动或释放时,将鼠标在窗体上按下的消息(消息值为HTCAPTION)发出,就可以拖动窗体了。代码如下:

  Private Declare Function ReleaseCapture Lib "user32" () As Long

  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

  Private Const WM_NCLBUTTONDOWN = &&HA1

  Private Const HTCAPTION = 2

  '以上API函数和常数的声明可在VB自带的“API浏览器”中找到

  Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

   '在窗体的MouseDown事件中添加以下代码

   If Button = 1 Then

   Call ReleaseCapture

   Call SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0)

   End If

  End Sub

  Private Sub Command1_Click()

  End  '退出程序

  End Sub

  这种方法实现起来比第一种方法更容易,只有几行代码,并且没有那么多的变量,窗体被拖动时与普通窗体一样,只有一个虚框随鼠标的移动而移动,当释放鼠标时窗体才移动到相应的位置。用到了两个API函数。

  以上程序在VB 6.0和Windows 98SE下调试通过。

 

上下文章:

 

上一篇文章: VB.NET:给Visual Basic带来革命! 下一篇文章: 在VB中实现移动没有标题栏的窗口

相关文章:

  • 飞速在线看视频 傲盾加速帮你实现速度感受
  • 用端口碰撞技术实现服务器远程管理
  • 如果互联网没有引擎,站长们是否还那么多怨声怨气?
  • servlet实现oracle中读出文件并显示
  • 开发技术:关于变量、移动以及含义

相关软件:

  • 窗口键盘记录器(keylog) V2.0
  • 围棋死活习题集移动版之PocketPC 2003版 1.0
  • 围棋死活习题集移动版之Palm版 1.0
  • 围棋死活习题集移动版之Symbian(S90)版 1.00
  • 围棋死活习题集移动版之PocketPC (ARM)版 1.00
  • 围棋死活习题集移动版之Symbian(s80)版 1.00

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • C++程序设计之四书五经
  • VB入门教程之四
  • VB入门教程之三
  • VB入门教程之二
  • VB入门教程之一
  • 压缩被DBGIRD控件正在使用的MDB数...
  • 谈谈VB的数据库编程方式
  • 在VB中用DAO实现数据库编程
  • Data控件使用有密码的Access数据库
  • 用DAO或ADO正确访问Access 2000

VB & VB.NET教程阅读排行

  • VB入门教程之一
  • VB入门教程之二
  • VB入门教程之三
  • VB入门教程之四
  • 如何编写高质量的VB代码
  • 初学者必知:VB10个小编程
  • VB访问SQL Server数据库技术全揭密
  • 怎样在VB中控制Word?
  • 用DAO或ADO正确访问Access 2000
  • VB中列表框的使用技巧说明

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有