- '##########################################################
- ' par LuTo
- ' mail: ltousch@yahoo.com
- ' site: http://ltousch.freeservers.com ' rien a voir avec la prog, mais bon
- ' merci a Jeromax et Fabiin pour leurs codes sur les manipulations de sourie
- '##########################################################
-
- 'Declare les API
- Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
- Private Declare Function SetCursorPos& Lib "user32" (ByVal x As Long, ByVal y As Long)
- Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
- 'Declare le type utilise pour GetCursorPos
- Private Type POINTAPI
- x As Long
- y As Long
- End Type
- 'Declare les constantes a utiliser avec mouse_event. ici, on s'en sert que de 2 mais bon
- Const MOUSEEVENTF_ABSOLUTE = &H8000
- Const MOUSEEVENTF_LEFTDOWN = &H2
- Const MOUSEEVENTF_LEFTUP = &H4
- Const MOUSEEVENTF_MIDDLEDOWN = &H20
- Const MOUSEEVENTF_MIDDLEUP = &H40
- Const MOUSEEVENTF_MOVE = &H1
- Const MOUSEEVENTF_RIGHTDOWN = &H8
- Const MOUSEEVENTF_RIGHTUP = &H10
- Const MOUSEEVENTF_WHEEL = &H80
- Const MOUSEEVENTF_XDOWN = &H100
- Const MOUSEEVENTF_XUP = &H200
- Const WHEEL_DELTA = 120
- Const XBUTTON1 = &H1
- Const XBUTTON2 = &H2
-
- 'variables et constantes utilisateur
- Private Pos As POINTAPI
- Const LargeurMin = 3255
- Const HauteurMin = 2880
-
- Private Sub Form_Resize()
- Dim Diff As Integer
-
- With Me
- ' si la form est minimisee, pas d'operation
- If .WindowState = vbMinimized Then Exit Sub
-
- ' si la largeur et la hauteur minimums sont
- ' atteintes, termine le resize en simulant
- ' le relachement du bouton gauche (c plus joli)
- If .Width < LargeurMin And .Height < HauteurMin Then
- Call mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
- End If
-
- 'obtient la position absolue de la sourie
- GetCursorPos Pos
-
- ' si la largeur minimum est atteinte, on
- ' repositionement la sourie au niveau de la
- ' bourdure de la form grace a l'API
- If .Width < LargeurMin Then
- SetCursorPos Pos.x + (LargeurMin - .Width) / 15, Pos.y
- .Width = LargeurMin
- End If
-
- ' de meme pour la hauteur de la form
- If .Height < HauteurMin Then
- SetCursorPos Pos.x, Pos.y + (HauteurMin - .Height) / 15
- .Height = HauteurMin
- End If
- End With
- End Sub
'##########################################################
' par LuTo
' mail: ltousch@yahoo.com
' site: http://ltousch.freeservers.com ' rien a voir avec la prog, mais bon
' merci a Jeromax et Fabiin pour leurs codes sur les manipulations de sourie
'##########################################################
'Declare les API
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Declare Function SetCursorPos& Lib "user32" (ByVal x As Long, ByVal y As Long)
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'Declare le type utilise pour GetCursorPos
Private Type POINTAPI
x As Long
y As Long
End Type
'Declare les constantes a utiliser avec mouse_event. ici, on s'en sert que de 2 mais bon
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
Const MOUSEEVENTF_WHEEL = &H80
Const MOUSEEVENTF_XDOWN = &H100
Const MOUSEEVENTF_XUP = &H200
Const WHEEL_DELTA = 120
Const XBUTTON1 = &H1
Const XBUTTON2 = &H2
'variables et constantes utilisateur
Private Pos As POINTAPI
Const LargeurMin = 3255
Const HauteurMin = 2880
Private Sub Form_Resize()
Dim Diff As Integer
With Me
' si la form est minimisee, pas d'operation
If .WindowState = vbMinimized Then Exit Sub
' si la largeur et la hauteur minimums sont
' atteintes, termine le resize en simulant
' le relachement du bouton gauche (c plus joli)
If .Width < LargeurMin And .Height < HauteurMin Then
Call mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
End If
'obtient la position absolue de la sourie
GetCursorPos Pos
' si la largeur minimum est atteinte, on
' repositionement la sourie au niveau de la
' bourdure de la form grace a l'API
If .Width < LargeurMin Then
SetCursorPos Pos.x + (LargeurMin - .Width) / 15, Pos.y
.Width = LargeurMin
End If
' de meme pour la hauteur de la form
If .Height < HauteurMin Then
SetCursorPos Pos.x, Pos.y + (HauteurMin - .Height) / 15
.Height = HauteurMin
End If
End With
End Sub