永发信息网

vb 拖动无标题窗口并且最前端显示

答案:2  悬赏:70  手机版
解决时间 2021-01-30 12:35
  • 提问者网友:星軌
  • 2021-01-30 07:10
vb 拖动无标题窗口 并且最前端显示,各位高手解决下呀
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-01-30 07:45
拖动
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal _
wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long

Private Const WM_SYSCOMMAND = &H112
Private Const SC_MOVE = &HF010&
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0
'SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
'上述两种方法都能实现该功能。
End Sub

置顶
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

窗口代码:
Dim rtn
'让窗口在顶层
rtn = SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, 3)
'取消窗口在顶层
'rtn = SetWindowPos(F_V.hwnd, -2, 0, 0, 0, 0, 3)
全部回答
  • 1楼网友:舍身薄凉客
  • 2021-01-30 08:06
lparam as any) as long private const htcaption = 2 private const wm_nclbuttondown = &ha1 private sub form1_mousedown(button as integer, shift as integer, x as single, byval y as long, _ byval cx as long; alias "sendmessagea" (byval hwnd as long, wm_nclbuttondownprivate declare function setwindowpos& lib " (byval hwnd as long, _ byval hwndinsertafter as long, byval x as long;user32", byval wparam as long;user32"user32", y as single) ', byval cy as long;拖动窗体 if button = 1 then ’注意这里,你的无法实现就是这里的问题,没有定义鼠标按下 releasecapture sendmessage hwnd, byval wmsg as long; () as long private declare function sendmessage lib ", byval wflags as long) private declare function releasecapture lib "
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯