VB中如何使用PostMessage移动窗体?
先贴我的VC代码
void CPLAYERDlg::OnMouseMove(UINT nFlags, CPoint point)
{
if(MK_LBUTTON == nFlags && point.y <= 20)
{
HCURSOR hCursor = LoadCursor(NULL, IDC_SIZEALL);
SetCursor(hCursor);
::PostMessage(GetSafeHwnd(),WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM(point.x,point.y));
}
CDialog::OnMouseMove(nFlags, point);
}
上面的VC代码可以实现移动没有Title Bar的窗体
========================================================================
下面,是我VB中的代码(窗体BorderStyle = None)
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim nLParam As Long
Dim blReturn As Boolean
If Button = vbLeftButton Then
nLParam = CInt(Y) * &H10000 + CInt(X)
blReturn = PostMessage(Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, nLParam)
End If
End Sub
该段代码blReturn = True,但是窗体无法移动。
请高手指教,谢谢!