IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Resize de Forms


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de dsolheid
    Inscrit en
    Décembre 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 141
    Par défaut Resize de Forms
    Bonjour à tous,

    J'ai un Form que j'aimerais 'resizable" uniquement si on click sur le bord de gauche et en bas.
    Càd, aucune action prise en compte sur le bord supérieur et de droite.

    Je pensais qu'il était possible d'effectuer un "Cancel" sur ResizeBegin, mais je ne trouve pas.

    Avez vous une idée ?

    D'avance merci !

    Didier.

  2. #2
    Membre confirmé Avatar de dsolheid
    Inscrit en
    Décembre 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2007
    Messages : 141
    Par défaut
    Après avoir graté ... J'ai trouvé une (LA) solution ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Public Class Form1
        Public Structure Rect
            Public left As Integer
            Public top As Integer
            Public right As Integer
            Public bottom As Integer
        End Structure
     
        Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
            Const WM_SIZING As Long = &H214
            Const WMSZ_LEFT As Integer = 1
            Const WMSZ_RIGHT As Integer = 2
            Const WMSZ_TOP As Integer = 3
            Const WMSZ_TOPLEFT As Integer = 4
            Const WMSZ_TOPRIGHT As Integer = 5
            Const WMSZ_BOTTOM As Integer = 6
            Const WMSZ_BOTTOMLEFT As Integer = 7
            Const WMSZ_BOTTOMRIGHT As Integer = 8
     
            If m.Msg = WM_SIZING And m.HWnd.Equals(Me.Handle) Then
     
                If m.WParam.ToInt32 = WMSZ_BOTTOM Or _
                   m.WParam.ToInt32 = WMSZ_RIGHT Or _
                   m.WParam.ToInt32 = WMSZ_BOTTOMRIGHT Then
     
                    ' Set again the defined size
                    Dim r As Rect
                    r = DirectCast(System.Runtime.InteropServices.Marshal.PtrToStructure(m.LParam, GetType(Rect)), Rect)
                    r.right = Me.Right
                    r.bottom = Me.Bottom
                    System.Runtime.InteropServices.Marshal.StructureToPtr(r, m.LParam, True)
     
                End If
            End If
            MyBase.WndProc(m)
        End Sub
    End Class
    Il suffit de redéfinir "WndProc" et de remettre les valeurs qu'on ne veut pas voir changer.

    Ne pas oublier : "MyBase.WndProc(m)" à la fin.

    En vous remerciant,

    Dieter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB2008] Resize une Form
    Par leeloo95 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 29/10/2009, 11h35
  2. Comment resizer une form qui est en bsSingle
    Par Cazaux-Moutou-Philippe dans le forum Langage
    Réponses: 4
    Dernier message: 09/12/2008, 13h30
  3. interdire resize form
    Par krokmitaine dans le forum Delphi
    Réponses: 18
    Dernier message: 22/09/2006, 11h01
  4. [VB.NET] Form : Movable sans être Resizable.
    Par Tybaud dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/07/2006, 09h01
  5. redimensionner paintbox selon form.resize
    Par chourmo dans le forum Delphi
    Réponses: 4
    Dernier message: 12/05/2006, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo