说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在Visual Basic中如何拖动窗体或控件

HTML文档下载 WORD文档下载 PDF文档下载
在Visual Basic中如何拖动窗体或控件


现在的许多Windows下的应用程序,都采用了图形化的界面,例如:WINAMP等!
这样做的好处是可以使程序界面更漂亮生动,更具吸引力。但是在这样的界面下就
不能使用Windows原来的标题条了,否则会影响界面的美观性。那么在没有标题条
的情况下如何用鼠标拖动窗体呢?或者拖动其它的控件呢?
其实,采用API函数调用很容易实现,下面我们以拖动窗体(Form1)为例来具体
讲一下实现方法:
1.新建立一个项目,名称为:test.vbp.
2. 填加一个模块,名称为:test.bas,并且在声明部分加入以下代码:
Declare Function ReleaseCapture Lib "user32" () As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As
Any) As Long
Public Const WM_SYSCOMMAND = &H112
Public Const SC_MOVE = &HF012
其中ReleaseCapture函数是用来释放鼠标捕获的,SendMessage函数是一个在
WindowsAPI中非常重要的函数,在这里的作用是用来向Windows发送移动窗体的消
息。WM_SYSCOMMAND是向Windows发送消息的常量。SC_MOVE是控制移动窗体的常量。
请注意:这里SC_MOVE的赋值一定要是&HF012,它表示鼠标对象。
3.在窗体的MouseDown过程中加入以下代码:
ReleaseCapture
SendMessage Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
其中ReleaseCapture函数用来释放鼠标捕获,SendMessage函数向Windows发送
移动窗体的消息。
4.保存并运行程序,按下鼠标,你会发现窗体会随着鼠标的移动而移动。就和
其它著名的应用程序一样。
以上讲述了如何在VB中用鼠标拖动窗体,其实,控件的拖动的原理是一样的。
例如以下代码可以实现图片框的拖动:
ReleaseCapture
SendMessage Picture1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0
其实,运用API函数可以实现许多你意想不到的功能。

联想K900评测:英特尔X86兼容性明显提升(组图) 小米手机-HAXLR8on硬件黑客马拉松:32小时的创客狂欢 鲍尔默宣布下台后,微软应该做好这几件事情 IGT张奇伟:从空间物理到博彩游戏研发 Bing即将推出新功能 用户可直接在搜索结果页购买商品 【开源专访】郑晔谈Moco框架的前世今生以及Java编程之道 CTO俱乐部第108期下午茶:电商在微信上的现状与未来 SDCC 2013讲师议题确定 门票即将售罄(图) 简化工作流程,10款必备的HTML5开发工具 六大领域考评鲍尔默微软掌舵能力,只一“C”尔? 剥离自雅虎的Hortonworks:低调发展,三年融资近1亿美元 Google的中国梦如何死于傲慢与不得力公关 [回顾]昨日黄花,那些被人们遗忘的11个操作系统 管理企业级API的7个最佳实践 Java 与 .NET 的平台发展之争 英特尔正在开发3D深度感知摄像头 可读出人类的情绪等 从数据平台到运营平台:国产开源移动统计Cobub Razor发布0.6版本 八月网络事故频现,CN域名遭最大规模网络攻击 Google云平台或将成为Amazon最大竞争对手 Camera360宣布完成1800万美元B轮融资 利用ZK Ajax框架 高效扩展Web App Web开发者需养成的8个好习惯 GitHub工程师专访:奶昔+海象+游泳池=开源 Paymill发布移动SDK,实现应用内直接支付 免费到付费:全球第二开源Web Server Nginx“堕入”商业化 乐视发布新版智能电视操作系统LetvUI 2.3—Schnauzer 进步还是灾难的开始?科学家首次通过互联网实现“心灵感应” 叫板Apple TV 谷歌发布Chromecast的iOS应用 性能提升100倍的秘密武器:一行SQL代码的妙用 60个开发者不容错过的免费资源库 专门针对初学者的Node.js教程 唉,今天刚到公司上网看一下新闻,竟然被行政总监说了!大家说说看 一个简单的SQL命令问题,线上等待。正确的我都给分 菜问题!我添加了#include "ICMPHeader.h",然后就出错了。 高分求救-漂亮的JSP页面代码 高手紧急求救!!! 我要移动listbox中的值!! 急问Flash... 对于高手很easy问题! 这个语句错在哪里:能不能用字符去逐个的初始化一个字符串 安装SQL时没有选择默认,而是自己新建一个实例,这样如何实现远程代码连接?? 急问Flash conning333(chen)来接分 webapps\ROOT\WEB-INF\web.xml的配置问题 如何清除WEBSPHERE的缓存?一个JSP文件总是无法更新,我重启WEBSPHERE也好,修改该JSP并重新保存也好,都是显示旧页面,真气人! 源代码分析 怎样在DW中制作垂直的线条????急 ! 急!在线等待!!!! 关于dir()的小问题, 这个问题已困惑我几天啦,均没人帮我解决真的好盼望呀 急问FLash 高分求教:一个DataGrid显示双DataTable!走过路过都有份! 怎样代码控制servers中excel的合并单元格?? google能找到我了,散分咯 急问Flash. ADOCE怎样访问excel数据表格? 请 ccmoon(IzuaL) 和 cloudchen(陈系上) 进来领分, 我该怎么做? 关于将输入字母转换为大写的问题! 谁给我解释这个sql语句! 怎么将sql server 6.x 的备份文件,恢复到sql server 7上 请教pb中有没有模式窗口和非模式窗口的概念?? 设备内容句柄在Delphi中有这个类吗?如何表示? hxzhappy(冰雨)快来接分 请问在contexMenu控件中show方法如何写 请问用VC,如何在WIN2000下连接一个SQL数据源? 入参与出参 关于国外发布的软件,可以使注册用户在线或取注册码! win2000下怎样建立代理服务器 有关DBGrid的问题。 在其他版看到一个很有意思的贴子“如果是你招聘人,你会不会招和自己技术,资历差不多的,甚至超过自己水平的?”欢迎大家讨论。 急!关于innerhtml的错误? hxzhappy(冰雨)快来接分 在线求助,急 请教各位,我的sybase的数据库的log设备(即syslogs表)最近增长很快,每天增长40多兆,如何解决??? 想做一个网络代理上网 c语言中三维数组的问题??? 求助:word文件加密后忘记密码如何打开原文件? 请教 : photoshop 中--highlight shadow midtone 提问,非高手勿入,打印的问题,100分,不够另加 关于oracle预留字作字段名的问题。 ● 求助,2000 Professional一登录就自动注销,怎么解决? 一个很棘手的问题? 麻雀叫——( ) 总质量为80kg的跳伞运动员从离地500m的直升机上跳下,经过2s拉开绳索开启降落伞,如图所示是跳伞过程中的v-t图,试根据图像求:(g取10m/s2) 估算14s内运动员下落的高度及克服阻力做的功【 什么是宏观物体 宏观物体是由什么组成的 宏观物体中的电子是怎么运动的,宏观物体符合经典力学,宏观物体又是由大量符合量子力学的粒子组成,这怎么解释 物质从宏观如何分类,从微观如何分类 几千年过去了,这些石块的接缝处连锋利的刀片都插不进去运用了作比较的手法判断 总质量为80Kg的跳伞运动员从离地500m的直升机上跳下,经过2s总质量是80kg的跳伞运动员从离地500m的直升机上跳下,经过2s拉开绳索开启降落伞,(1)t=1时运动员的加速度的大小.(2)估算14s内运 齿轮侧隙计算一对齿轮副,如何计算最大侧隙是多少?是否就是简单的齿厚下偏差之和因为有回程要求,所以要知道最大侧隙 ,另外齿厚下偏差是如何计算的,手册上的我也会查 如何检查活塞环的端隙侧隙及背隙? 3.15刚过,3.16食盐问题就来了…打电话回家乡问了问,没有想到西南偏远地方乡和县也受到了10元一包每人限量5包的影响…“食盐脱销”事件反应了那些问题?如果是敌对暗中作乱,故意挑起社会 张平会见欧洲客人新闻分析:格鲁吉亚大选后内政外交如何新闻人物:格鲁吉亚当选总统马尔格韦拉研究:飞机座椅加宽1英寸 乘客睡眠质IPCC中国宣讲会:21世纪末全球气欧洲一航空公司推“慈善空姐日历” 泳德媒曝美国10年前已监听默克尔通讯 美国国安局:奥巴马并未参与讨论监听默印度反对派竞选集会遭袭 死亡人数上升美研究称因感到受尊敬50岁以上人群更澳大利亚一墓园将举行”恐怖”派对 迎七夕约会,浪漫情人节的甜蜜美味男篮胜安哥拉收获多多住宅成交1367套 环比增453套马君4场比赛独进8球像风一样自由专家推荐南京军旅摄影家两年走访8省市 采访到大聪客串损友玩转德乙联赛有“窍门” 杜塞尔多夫有我的青春,我做主恒基·富荟山样板示范区公开
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘