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

拖动无系统标准标题栏的窗口-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
拖动无系统标准标题栏的窗口-VB资料
吴斌
  大家知道,在VB中可以通过设置Form的属性,制作无系统标题栏的窗口。可是,
由于失去了系统标题栏,如何使用鼠标拖动窗口便成了一个棘手的问题。其实,借
助API函数ReleaseCapture和SendMessage,这个问题便可迎刃而解了。
  首先,在module文件中加入下列声明语句:
  Declare Sub ReleaseCapture Lib"User"()
  Declare Function SendMessage Lib"User"(ByVal hWnd As Integer,ByVal
wMsg As Integer,ByVal wParam As Integer,_lParam As Any)As Long
  Public Const WM_SYSCOMMAND=&H112
  Public Const SC_MOVE=&HF010
  Public Const HTCAPTION=2
  然后,在Form的MouseDown事件中加入下列代码:
  ReleaseCapture
  Ret&=SendMessage(Me.hWnd,WM_SYSCOMMAND,_SC_MOVE+HTCAPTION,0)
  ……
  程序运行后,只要当光标落在Form区域时按住鼠标左键,便可以拖动窗口了。
在一些要求生动活泼的界面的程序设计中,开发者常常希望自制风格独特的标题栏,
以满足整个界面的要求。通过这个方法,就可以使自制的标题栏达到乱真的地步。
不过,用作自制标题栏的控件,必须具有MouseDown事件以摆放上述代码。


移动没有标题栏的窗口
我们一般是用鼠标按住窗口的标题栏,然后移动窗口,当窗口没有标题栏时,
我们可以用下面的方法来移动窗口:
 
在 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 HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1
 
然后,在 Form_MouseDown 事件中:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub



Oracle发布软件更新修复Java漏洞 设计师将吞噬工程师吗? 开源产品系列:小巧灵活的Web框架web.py Windows Server 2012 VHDX格式揭秘 Rovio将赶超Zynga 成为全球最受欢迎游戏公司 HFONT的问题 简单负值问题,怎么把一个cstring型赋给long行? 呵呵,祝我和tacoell两个人生日快乐:) 水晶报表中,曲线图中横轴如何去掉日期后面的时间? 关于 ps | grep 的问题 给几个XML和JSP结合使用的例子,谢谢。 help me! 图像无缝拼接 关于ado的编程时提示问题? 看看这是陶瓷电容吗样子象陶瓷电容,并在电源两端,上 1/2+1/6+1/12+...1/90+1/11 2分之1+6分之1+12分之1+.+90分之1+1 物理:某电容C=20PF,那么用国际单位表示,它的 请问6%的电抗率是按照电容的额定容量选还是按照电容 能再告诉一下额定容量是多少吗~ 额定容量是什么意思 电容类设备铭牌,额定容量用什么字母表示,Qc还是Q 电子表格当A1=4 B1=21 且C1=25时 D 女子当街跳舞一丝不挂 众人围观无人给温州将军大酒店门口10个窨井盖突然炸杭州文一路超市门口 年轻流浪姑娘产下为养老保障拾遗补缺 多元化养老日渐“马英九宣示向黑心厂商全面开战:统统揪刘强东潘石屹共话创业 京东展示智能行庄帅:进入未来 参访大疆的AI和华为无论现况多令人绝望,都请别放弃自由的初心寻老友|你的圣诞礼物到了,请点击中国手机厂商这么牛逼,你知道吗?回到三国收猛将默茉仙途天尊战记医武高手我的时空癌症法源寺旅游虎跳峡漂流旅游长江第一湾旅游大红袍景区旅游九曲溪旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘