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 :

Problème avec PtInRegion et un tableau dynamique


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 44
    Par défaut Problème avec PtInRegion et un tableau dynamique
    Bonjour à tous,

    Je voudrais utiliser la fonction PtInRegion pour déterminer si un point se trouve à l'intérieur d'une "zone" écran.

    Méthode 1:
    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
     
    procedure IsInRegion;
    var
        arPoints : array [0..3] of TPoint;
        R1 : HRGN;
    begin
        arPoints[0] := point(2000, 1000);
        arPoints[1] := point(3000, 1000);
        arPoints[2] := point(3000, 3000);
        arPoints[3] := point(2000, 3000);
        R1 := CreatePolygonRgn(arPoints, 4, WINDING);
        if (PtInRegion(R1, 2000, 2000)) then
            Application.MessageBox('Point 0', 'ptInRegion');
        if (PtInRegion(R1, 2900, 2000)) then
            Application.MessageBox('Point 1', 'ptInRegion');
    end;
    Les messages : 'Point 0' et 'Point 1' sont activés

    Méthode 2 :
    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
     
    procedure IsInRegion;
    var
        arPoints : array of TPoint;
        R1 : HRGN;
    begin
        setLength(arPoints, 4);
        arPoints[0] := point(2000, 1000);
        arPoints[1] := point(3000, 1000);
        arPoints[2] := point(3000, 3000);
        arPoints[3] := point(2000, 3000);
        R1 := CreatePolygonRgn(arPoints, 4, WINDING);
        if (PtInRegion(R1, 2000, 2000)) then
            Application.MessageBox('Point 0', 'ptInRegion');
        if (PtInRegion(R1, 2900, 2000)) then
            Application.MessageBox('Point 1', 'ptInRegion');
    end;
    Aucun message n'est activé.

    Pourquoi obtient-on un résultat différent avec le tableau défini par la méthode 1 et le tableau dynamique définit par la méthode 2?
    (les listes de point du tableau semblent identiques avant d'entrer dans la fonction CreatePolygonRegion)

    Est-il possible de détecter que le point 0 est 'au bord' de la région?

    Merci d'avance pour vos réponses.

  2. #2
    Membre émérite
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Par défaut
    Pour le second code je te suggère ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    R1 := CreatePolygonRgn(arPoints[0], 4, WINDING);
    Effectivement, un tabeau dynamique n'est pas géré de la meme façon qu'un tableau statique.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 44
    Par défaut
    Super! le problème est résolu.


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

Discussions similaires

  1. Problème avec fonction renvoyant un Tableau dynamique
    Par kracter56 dans le forum Débuter
    Réponses: 3
    Dernier message: 12/06/2012, 14h38
  2. problème avec affichage d'un tableau
    Par bandit_debutant dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 29/05/2008, 16h15
  3. Problème de sélection dans un tableau dynamique (gestion des erreurs)
    Par aulilou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/08/2007, 16h38
  4. Difficulté avec "for each" et tableau dynamique
    Par lemordore dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 29/03/2007, 17h48
  5. Problème avec la "Gestion des bibliothèques dynamiques"
    Par GoustiFruit dans le forum Delphi
    Réponses: 15
    Dernier message: 31/05/2006, 09h54

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