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 :

être ou ne pas être sur un objet [FAQ]


Sujet :

Delphi

  1. #1
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut être ou ne pas être sur un objet
    Bonjour,
    Comment puis je savoir si un objet lors de sa création (par ex un TLabel) est en parti ou entierrement sur un autre objet (ex TLabel), en excluant biensur le parent.
    Je sais qu'on peut le faire en scrutant tous les composants et en vérifiant leur position / taille l'un par rapport à l'autre mais c'est lord et long.

    Merci de votre aide

  2. #2
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    Salut
    Tu veux dire si ces composants se "chevauchent" sur le parent ?
    Choisir, c'est renoncer...

  3. #3
    Membre éclairé Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Points : 789
    Points
    789
    Par défaut
    Les composants ont tous une propriété BoundsRect qui contient un TRect de la position de ces derniers sur leur parent. Il existe aussi une méthode IntersectRect qui indique si 2 TRect se chevauchent. Enfin, tu n'as qu'à parcourir Components[] et comparer les Rect des composants. Pas si compliqué que ça .
    -Slimjoe

  4. #4
    Membre actif Avatar de Speed41
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 718
    Points : 210
    Points
    210
    Par défaut
    Citation Envoyé par slimjoe
    Les composants ont tous une propriété BoundsRect qui contient un TRect de la position de ces derniers sur leur parent. Il existe aussi une méthode IntersectRect qui indique si 2 TRect se chevauchent. Enfin, tu n'as qu'à parcourir Components[] et comparer les Rect des composants. Pas si compliqué que ça .
    C'est bien la téchnique que j'utilise, à la différence que je ne connaissais pas Intersectrect, mais le principe reste le même parcourit tous les composants (components[])
    Je pensais que peut être il existait une méthode plus rapide pour connaître les objets que chevauche mon nouvel objet sur leur même parent.

    Merci pour aide. Je vais qu'en même utiliser Intersectrect dans mes procédures

Discussions similaires

  1. être ou ne pas être-Déprécié.
    Par Robxley dans le forum OpenGL
    Réponses: 9
    Dernier message: 27/01/2012, 15h24
  2. Navigation rapide pas trés rapide sur mon poste, que faire ?
    Par heyboy dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 7
    Dernier message: 05/10/2006, 17h01
  3. être ou ne pas être une base de données
    Par lapuce dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 27/09/2006, 17h15
  4. Réponses: 1
    Dernier message: 18/05/2006, 14h09
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

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