Fenêtre Windows

mickey cohen Messages postés 5 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 21 décembre 2005 - 15 nov. 2005 à 11:50
mickey cohen Messages postés 5 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 21 décembre 2005 - 5 déc. 2005 à 14:30
Salut à tous,

Quand j'agrandi une form, celle-ci occupe toute l'écran. J'aimerai agrandir une form de façon à ce qu'elle n'occupe que la partie supérieure de l'écran.

Dév : VB6.0
OS : WinXP

Thanks.

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 nov. 2005 à 12:56
voir ma source pour limiter la taille d'une fenêtre par hook.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
mickey cohen Messages postés 5 Date d'inscription mercredi 24 août 2005 Statut Membre Dernière intervention 21 décembre 2005
5 déc. 2005 à 14:30
Thanks,

Seul petit problème c'est que je peux déplacer ma form quand elle est en plein écran.

Comment faire pour interdire la fenêtre de bouger quand elle est en plein écran ?


<HR>

Voici le source :

Option Explicit


Const SW_SHOWMAXIMIZED = 3


Private Declare Function ShowWindow Lib "user32" ( _
ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long
Private Declare Function AdjustWindowRect Lib "user32" ( _
lpRect As RECT, _
ByVal dwStyle As Long, _
ByVal bMenu As Long) _
As Long


Private Declare Function BeginDeferWindowPos Lib "user32" ( _
ByVal nNumWindows As Long) _
As Long


Private Declare Function DeferWindowPos Lib "user32" ( _
ByVal hWinPosInfo As Long, _
ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) _
As Long


Private Declare Function EndDeferWindowPos Lib "user32" ( _
ByVal hWinPosInfo As Long) _
As Long


Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type


Private Sub Form_Resize()


'Si la fenêtre est Maximized
If Form1.WindowState = 2 Then


'déclaration des variables privées
Dim RCT_Fenêtre As RECT 'stocke la taille de la fenêtre
Dim LNG_Taille As Long 'stocke la taille occupée en mémoire de la fenêtre qui sera affichée

Const WS_BORDER = &H800000 'la fenêtre doit contenir une bordure
Const HWND_TOP = 0 'la fenêtre qui est au premier plan
Const SWP_SHOWWINDOW = &H40 'on veut afficher la fenêtre

'on définit la taille de la fenêtre : 'RCT_Fenêtre.Left 0 'on place la feuille à X 0 'RCT_Fenêtre.Top 0 'on place la feuille à Y 0
RCT_Fenêtre.Right = Screen.Width 'on donne une largeur de fenêtre de 100 pixels
RCT_Fenêtre.Bottom = 250 'on donne une hauteur de fenêtre de 250 pixels

'on définit le rectangle occupé par la fenêtre :
AdjustWindowRect RCT_Fenêtre, WS_BORDER, False

'on définit l'espace mémoire pour afficher la feuille
LNG_Taille = BeginDeferWindowPos(1)

'Maximized Window
ShowWindow Me.hwnd, SW_SHOWMAXIMIZED

'on affiche la feuille
DeferWindowPos LNG_Taille, Me.hwnd, HWND_TOP, RCT_Fenêtre.Left, RCT_Fenêtre.Top, RCT_Fenêtre.Right - RCT_Fenêtre.Left, RCT_Fenêtre.Bottom - RCT_Fenêtre.Top, SWP_SHOWWINDOW

'on met à jour l'affichage
EndDeferWindowPos LNG_Taille

End If


End Sub


<HR>

Merci à tous.
0
Rejoignez-nous