- 通过消息的发送实现移动无标题窗体。当鼠标按下、移动或释放时,将鼠标在窗体上按下的消息(消息值为HTCAPTION)发出,就可以拖动窗体了。代码如下:
- PrivateDeclareFunctionReleaseCaptureLib"user32"()AsLong
- PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,
- ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong
- PrivateConstWM_NCLBUTTONDOWN=&&HA1
- PrivateConstHTCAPTION=2
- '以上API函数和常数的声明可在VB自带的“API浏览器”中找到
- PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
- '在窗体的MouseDown事件中添加以下代码
- IfButton=1Then
- CallReleaseCapture
- CallSendMessage(hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0)
- EndIf
- EndSub
- PrivateSubCommand1_Click()
- End '退出程序
- EndSub
- 这种方法实现起来比第一种方法更容易,只有几行代码,并且没有那么多的变量,窗体被拖动时与普通窗体一样,只有一个虚框随鼠标的移动而移动,当释放鼠标时窗体才移动到相应的位置。用到了两个API函数。
在VB中实现移动没有标题栏的窗口
最新推荐文章于 2013-01-02 11:49:35 发布
本文介绍了一种简单的方法来实现在Visual Basic中拖动无标题窗体的功能。该方法利用了两个API函数ReleaseCapture和SendMessage,通过在MouseDown事件中响应鼠标左键按下并发送特定消息来实现窗体的拖动。
1464

被折叠的 条评论
为什么被折叠?



