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

 Delphi Discussion :

[D6]Form & Dimensions


Sujet :

Delphi

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Par défaut [D6]Form & Dimensions
    salut

    Comment faire pour empêcher de changer les dimentions d'une fenêtre par la souris en mode exécution ?

    merci

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut
    c'est démensions ou dimensions ?
    regardes du coté de la propriété BorderStyle de ta form, les valeurs bsSizeable et bsSizeToolWin permettent de redimensionner la form à l'aide de la souris (ou du clavier). si tu ne veux pas que les dimensions puissent être changées, met par exemple la propriété BorderStyle de ta form a bsSingle et met l'attribut biMaximize de la propriété BorderIcons à false. tu pourrais aussi intercepter le message WM_SIZING envoyé à ta form lorsque celle ci est redimensionnée, mais c'est un peu plus compliqué.

  3. #3
    Membre chevronné
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Par défaut Redimension d'une fiche
    Salut.

    Il y a beaucoup plus simple que d'intercepter les messages WINDOWS.
    Un truc tout simple. Utiliser l'événement OnCanResize :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    procedure TForm1.FormCanResize(Sender : TObject; var NewWidth,
       NewHeight : Integer; var Resize : Boolean);
    begin
        // Forcer les dimensions d'origine à chaque tentative de redimensionnement
         NewWidth := Width;
         NewHeight := Height;
    end;

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut Re: Redimension d'une fiche
    Citation Envoyé par Philippe Gormand
    Salut.

    Il y a beaucoup plus simple que d'intercepter les messages WINDOWS.
    Un truc tout simple. Utiliser l'événement OnCanResize :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    procedure TForm1.FormCanResize(Sender : TObject; var NewWidth,
       NewHeight : Integer; var Resize : Boolean);
    begin
        // Forcer les dimensions d'origine à chaque tentative de redimensionnement
         NewWidth := Width;
         NewHeight := Height;
    end;
    On peut aussi utiliser les propriétés Constraints de la form


  5. #5
    Membre éclairé Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Par défaut
    Citation Envoyé par Philippe Gormand
    Salut.

    Il y a beaucoup plus simple que d'intercepter les messages WINDOWS.
    Un truc tout simple. Utiliser l'événement OnCanResize :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    procedure TForm1.FormCanResize(Sender : TObject; var NewWidth,
       NewHeight : Integer; var Resize : Boolean);
    begin
        // Forcer les dimensions d'origine à chaque tentative de redimensionnement
         NewWidth := Width;
         NewHeight := Height;
    end;
    Cette méthode n'est pas super parce qu'elle est lancé à chaque fois que la fiche est en redimenssionement, ce qui utilise énormément de temps, et ça peut être saccadé ...


    Pour résumer :

    - BorderStyle pour empêcher radicalement la redimension
    - Contraints pour limiter le redimensionnement de ta form

  6. #6
    Membre chevronné
    Avatar de Philippe Gormand
    Inscrit en
    Mars 2002
    Messages
    330
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 330
    Par défaut
    C'est un vieux truc qu'on utilisait quand la propriété Constraints
    n'existait pas sous DELPHI.

    "Cette méthode n'est pas super parce qu'elle est lancé à chaque fois que la fiche est en redimenssionement, ce qui utilise énormément de temps, et ça peut être saccadé ..."

    Erreur, erreur. La methode Resize n'est lancée qu'au relachement du
    bouton de la souris. Il n'y a pas de saccadement. Essaies.


    "- BorderStyle pour empêcher radicalement la redimension
    - Contraints pour limiter le redimensionnement de ta form"

    Bien sur ça marche mais attention. Lire les avertissements dans l'aide
    de DELPHI.


    En tout cas, j'utilise toujours sans problème ma méthode qui permet en
    plus, éventuellement d'afficher un message si on tente de
    redimenssionner la fiche.

    Enfin, à chacun son truc.

    A+

  7. #7
    Membre éclairé Avatar de Matt2094
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    295
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 295
    Par défaut
    "Cette méthode n'est pas super parce qu'elle est lancé à chaque fois que la fiche est en redimenssionement, ce qui utilise énormément de temps, et ça peut être saccadé ..."

    Erreur, erreur. La methode Resize n'est lancée qu'au relachement du
    bouton de la souris. Il n'y a pas de saccadement. Essaies.
    Excuse, j'avais pas vérifié entièrement

  8. #8
    Membre averti

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Par défaut Re: D6/Form & Démentions
    salut
    ok, c'est bon
    merci

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

Discussions similaires

  1. Form de dimension > 912
    Par JennBBd dans le forum VB.NET
    Réponses: 10
    Dernier message: 19/09/2007, 14h31
  2. dimension ecran et form
    Par blondelle dans le forum C++Builder
    Réponses: 22
    Dernier message: 23/06/2006, 15h32
  3. dimension centimètrique d'une forme, d'un écran
    Par Patrice Henrio dans le forum Graphisme
    Réponses: 4
    Dernier message: 23/02/2006, 18h38
  4. [VB6] Dimensions d'une form - résolution écran
    Par eagleleader dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/12/2005, 15h10

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