devxlogo

Let Users Resize Your Controls

Let Users Resize Your Controls

You can allow users to resize a control?just like in VB design mode?with a mouse, using two simple API calls. You can resize the control?top-left, top, top-right, left, right, bottom-left, bottom, and right. When you make ranges for the mouse coordinates (such as x>0 and x<100), the MouseDown event activates the API functions and sizes your picture box when the mouse moves. This code assumes you have a picture box on the form:

 Private Declare Function ReleaseCapture Lib _	"user32" () As LongPrivate Declare Function SendMessage Lib _	"user32" Alias "SendMessageA" (ByVal hWnd _	As Long, ByVal wMsg As Long, ByVal wParam _	As Long, lParam As Any) As LongPrivate Const WM_NCLBUTTONDOWN = &HA1' You can find more of these (lower) in the API Viewer. Here ' they are used only for resizing the left and right.Private Const HTLEFT = 10Private Const HTRIGHT = 11Private Sub Picture1_MouseDown(Button As _	Integer, Shift As Integer, X As Single, Y As Single)	Dim nParam As Long	With Picture1		' You can change these coordinates to whatever 		' you want		If (X > 0 And X < 100) Then			nParam = HTLEFT		ElseIf (X > .Width - 100 And X < .Width) Then 		' these too			nParam = HTRIGHT		End If		If nParam Then			Call ReleaseCapture			Call SendMessage(.hWnd, _				WM_NCLBUTTONDOWN, nParam, 0)		End If	End WithEnd SubPrivate Sub Picture1_MouseMove(Button As _	Integer, Shift As Integer, X As Single, Y As Single)	Dim NewPointer As MousePointerConstants	' You can change these coordinates to whatever you want	If (X > 0 And X < 100) Then		NewPointer = vbSizeWE	ElseIf (X > Picture1.Width - 100 And X < _		Picture1.Width) Then ' these too		NewPointer = vbSizeWE	Else		NewPointer = vbDefault	End If	If NewPointer <> Picture1.MousePointer Then		Picture1.MousePointer = NewPointer	End IfEnd Sub
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist