电竞比分网-中国电竞赛事及体育赛事平台

分享

VB移動(dòng)沒有標(biāo)題欄的窗口

 163九九 2016-04-18

最新VB移動(dòng)沒有標(biāo)題欄的窗口

以下是三零網(wǎng)為大家整理的最新VB移動(dòng)沒有標(biāo)題欄的窗口的文章,希望大家能夠喜歡!

VB移動(dòng)沒有標(biāo)題欄的窗口,一般情況下,移動(dòng)窗口都是用鼠標(biāo)左鍵按在標(biāo)題欄上拖動(dòng),不過若窗體沒有標(biāo)題欄的話,那是怎么移動(dòng)窗口呢?辦法是有的,先不告訴你,看代碼吧。

 


VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 4665
ClientLeft = 60
ClientTop = 345
ClientWidth = 5535
ControlBox = 0 'False
LinkTopic = "Form1"
ScaleHeight = 4665
ScaleWidth = 5535
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command1
Caption = "可移動(dòng)的按鈕"
Height = 855
Left = 1560
TabIndex = 0
Top = 1080
Width = 1575
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function CreateEllipticRgn Lib "gdi32" _
( _
ByVal X1 As Long, ByVal Y1 As Long, _
ByVal X2 As Long, ByVal Y2 As Long _
) As Long
'聲明創(chuàng)建橢圓形區(qū)域的API函數(shù)
Private Declare Function SetWindowRgn Lib "user32" _
( _
ByVal hWnd As Long, ByVal hRgn As Long, _
ByVal bRedraw As Boolean _
) As Long
'聲明設(shè)置窗口形狀的API函數(shù)
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 HTCAPTION = 2
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
'如果按下鼠標(biāo)左鍵
Dim ReturnVal As Long
X1 = ReleaseCapture()
ReturnVal1 = SendMessage(Command1.hWnd, WM_SYSCOMMAND, _
SC_MOVE + HTCAPTION, 0)
End If
End Sub
Private Sub Form_Load()
Dim hRgnC As Long
hRgnC = CreateEllipticRgn(0, 22, 300, 300)
'創(chuàng)建橢圓形區(qū)域
SetWindowRgn Me.hWnd, hRgnC, True
'設(shè)置窗口為橢圓形
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
If Button = 1 Then
'如果按下鼠標(biāo)左鍵
Dim ReturnVal As Long
X = ReleaseCapture()
ReturnVal = SendMessage(Form1.hWnd, WM_SYSCOMMAND, _
SC_MOVE + HTCAPTION, 0)
End If
End Sub

延伸閱讀:
·VB6.0基于API實(shí)現(xiàn)無(wú)邊框無(wú)標(biāo)題欄窗體的拖動(dòng)
·VB獲取窗口標(biāo)題欄文字
·一個(gè)禁止窗口被拖動(dòng)的VB方法類代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多