5/5 (14 avis)
Vue 4 870 fois - Téléchargée 362 fois
'Il faut, 4 textbox (Text1, Text2, Text3, Text4) et 2 CommandButton (Command1, Command2) Option Explicit 'déclaration de l'api et de ses constantes Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long Const SPI_GETWORKAREA = 48 Const SPI_SETWORKAREA = 47 'déclaration de 2 variables types qui récupereront la taille de la zone de travail Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Dim RCold As RECT Dim RCnew As RECT Private Sub Command1_Click() 'on récupere la taille de la zone de travail et si l'api bug (<>1), on le signal If SystemParametersInfo(SPI_GETWORKAREA, vbNull, RCold, 0) = 1 Then With RCold Text1.Text = .Left Text2.Text = .Top Text3.Text = .Right Text4.Text = .Bottom End With Else MsgBox "Une erreur est survenue lors de la récupération des données !", vbOKOnly + vbMsgBoxSetForeground + vbCritical, "Erreur" End If End Sub Private Sub Command2_Click() 'on modifie la taille de la zone de travail apres verifier la requete de l'utilisateur, en cas "d'accident" !! If MsgBox("Etes-vous sur de vouloir modifier la zone de travail ??" & vbCrLf & "Une mauvaise manipulation peut entrainer de graves conséquences !!", vbQuestion + vbYesNo + vbMsgBoxSetForeground, "Etes-vous sur ?") = vbYes Then With RCnew .Left = Text1.Text .Top = Text2.Text .Right = Text3.Text .Bottom = Text4.Text End With Call SystemParametersInfo(SPI_SETWORKAREA, vbNull, RCnew, 0) End If End Sub Private Sub Form_Load() Command1_Click End Sub
24 nov. 2004 à 19:22
24 nov. 2004 à 19:55
Car apres mon test j'avais oublié quelles la valeur Height à l'origine, j'ai du faire un test sur un autre PC avec la meme resolution.
Mais ce la reste très interressant.
Il faut preciser que cela modifie la valeur pour TOUTES les fenetres actives.
Bonne prog
++
24 nov. 2004 à 20:35
24 nov. 2004 à 20:49
J'ai déjà mis une source qui fait la meme chose sur ce site et j'étais confronté à un problème : sur certains systèmes d'exploitation (dont XP j'en ai fait l'experience) quand tu change la zone utilisable de l'écran, toutes les fenetres maximisées ne sont pas modifiées, et meme si tu les démaximise puis tu les remaximises elle ne prendront pas compte des nouvelles dimensions, enfin bien chiant le problème.
J'ai essayé avec plein de prog différents, essayer de tout démaximiser et tout remaximiser, rien à faire, le problème reste.
En + j'ai reçu un mail de quelqu'un dont toutes les fenetres d'internet explorer restaient à l'ancienne taille, meme après reboot.
Donc je pense qu'il serait interressant avec la réédition de cette technique, de résoudre ce problème qui peut devenir bien chiant....
Mais bon c'est pas de ta faute, c'est celle d'XP j'ai le meme problème.
voilà j'espère que ça servira a améliorer cette source
@ +
MadMatt
24 nov. 2004 à 21:06
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.