闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>

正在阅读:窗体迁移大法窗体迁移大法

2004-02-14 09:34 出处:中国电脑教育报 作者:徐立伟 责任编辑:huangpeidan
有很多软件为了实现特殊的显示效果,采用非矩形的窗体,而这些窗体往往没有标题栏。想要移动一个没有标题栏的窗口是不那么容易的。下面我介绍两种在VB中采取不同原理的方法移动一个没有标题栏的窗口。   方法一   这种方法是在窗体的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设置中拖动窗体时,被拖动的窗体不会随窗体的移动而移动,随窗体移动的仅是一个与窗体形状、大小一样的虚框,只有释放鼠标后,窗体才会移动到释放鼠标时虚框的所在处。要实现这种效果,请看第二种方法。
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶鎾煙椤旀娼愰柟宄版嚇瀹曘劍绻濋崒娆愭▕濠电姷顣藉Σ鍛村磻閹捐绠柨鐕傛嫹闂傚倸鍊烽悞锕傚箖閸洖纾块柟鎯版绾剧粯绻涢幋娆忕仼闁哄嫨鍎甸幃姗€鎮欓弶鍨彑婵炲瓨绮嶇划鎾诲蓟濞戙埄鏁冮柨婵嗘椤︺儵姊洪崨濠冾棖闁瑰嚖鎷�