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

Langage Delphi Discussion :

[Message] Redimensionner une TForm


Sujet :

Langage Delphi

  1. #1
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut [Message] Redimensionner une TForm
    Bonjour,
    j'aimerais savoir si quelqu'un connaissait la syntaxe pour redimenssionner une fenêtre qui a borderStyle = bsNone

    En effet, sur cette fameuse fenêtre j'ai un panel en haut sur lequel en cliquant on déplace la fenêtre grâce à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ReleaseCapture;
      Perform(WM_SysCommand, SC_MOVE, 0);
    end;
    Et j'aimerais si possible avoir un TShape de 3 pixels de large sur chaque coté et en bas pour permettre de redimenssionner ma fenêtre quand on clique dessus !

    Ce serait simple de mettre BorderStyle = BsSizeable mais on veut faire autrement

    Merci d'avance pour vos lumières !

  2. #2
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut
    Hmmm, la réponse était presque dans la FAQ !

    http://delphi.developpez.com/faq/?pa...#deplacerfiche

    Avec une recherche rapide sur MSDN

    http://msdn.microsoft.com/library/de...testretval.asp

    On peut donc modifier la solution de la FAQ qui permet de déplacer la fenêtre de la façon suivante pour qu'elle redimenssionne la fenêtre du coté droit :

    La zone sensible est donc toute la zone du bord droit de la fenêtre à 5 pixels ou moins du bord !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.WMNCHitTest(var msg: TWMNCHittest);
    var
      pt: TPoint;
    begin
      inherited;
      pt:= ScreenToClient(Point(msg.XPos, msg.YPos));
      if PtInRect(Rect(ClientWidth-5, 0, ClientWidth, ClientHeight), pt) then
        msg.Result:= HTRIGHT;
    end;
    Il suffit de rajouter 2 autres tests et on pourra redimenssionner toute la fenêtre comme si elle avait des bordures !

    Yabon pour la FAQ !

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

Discussions similaires

  1. Message "ShowModal" dans une TForm
    Par TicTacToe dans le forum Delphi
    Réponses: 4
    Dernier message: 16/11/2006, 20h31
  2. (MFC) Redimensionner une List Control auto / Boite Dlg
    Par Guybrush113 dans le forum MFC
    Réponses: 7
    Dernier message: 23/04/2004, 10h24
  3. [Applet]Redimensionner une applet
    Par muad'dib dans le forum Applets
    Réponses: 2
    Dernier message: 22/04/2004, 13h42
  4. [MX2004] redimensionner une image lors du chargement
    Par ouinouin dans le forum Flash
    Réponses: 8
    Dernier message: 18/02/2004, 19h32
  5. Redimensionner une ToolBar
    Par tscoops dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/11/2003, 17h46

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