abas1388
جمعه 26 دی 1393, 11:14 صبح
سلام
آیا امکان دارد همانند حالتی که وقتی اشاره گر موس بر روی لبه های یک فرم قرار می گیرد و شکل اشاره گر موس بصورت یک پیکان (فلش دوطرفه) در می آید و در این حالت میتوان با پائین نگه داشتن موس فرم را تغییر سایز نمود برای یک لیبل هم چنین کاری نمود؟
با تشکر
meys34
یک شنبه 28 دی 1393, 13:07 عصر
برای لیبل به دلیل نداشتن هندل سخت تر هست... شما می تونید به جای لیبل از Picture1 استفاده کنید:
127686
Option Explicit
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_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Const HTBOTTOMRIGHT = 17
Private Const HTBOTTOM = 15
Private Const HTBOTTOMLEFT = 16
Private Const HTLEFT = 10
Private Const HTRIGHT = 11
Private Const HTTOP = 12
Private Const HTTOPLEFT = 13
Private Const HTTOPRIGHT = 14
Private Const Margin = 200
Private Sub Form_Load()
Picture1.AutoRedraw = True
Picture1.Print "Barnamenevis.org"
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
With Picture1
        .MousePointer = 0
        
        If X > .Width - Margin * 1.5 And Y < Margin * 1.5 Then
            .MousePointer = 6
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTTOPRIGHT, 0&
            End If
            Exit Sub
        End If
        
        
        
        If X < Margin * 1.5 And Y < Margin * 1.5 Then
            .MousePointer = 8
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTTOPLEFT, 0&
            End If
            Exit Sub
        End If
        
        
        
        If X > .Width - Margin * 1.5 And Y > .Height - Margin * 1.5 Then
            .MousePointer = 8
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTBOTTOMRIGHT, 0&
            End If
            Exit Sub
        End If
        
        
        
        If X < Margin * 1.5 And Y > .Height - Margin * 1.5 Then
            .MousePointer = 6
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTBOTTOMLEFT, 0&
            End If
            Exit Sub
        End If
        
        
        
        If X > .Width - Margin And Y < .Height - Margin Then
            .MousePointer = 9
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTRIGHT, 0&
            End If
            Exit Sub
        End If
        
        
        
        If X < Margin And Y > Margin Then
            .MousePointer = 9
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTLEFT, 0&
            End If
            Exit Sub
        End If
        
        
        
         If X < .Width - Margin And Y < Margin Then
            .MousePointer = 7
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTTOP, 0&
            End If
            Exit Sub
        End If
        
        
        
        If X < .Width - Margin And Y > .Height - Margin Then
            .MousePointer = 7
            
            If Button = 1 Then
                ReleaseCapture
                SendMessage .hwnd, WM_NCLBUTTONDOWN, HTBOTTOM, 0&
            End If
            Exit Sub
        End If
End With
End Sub
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.