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 :

Traces bizarres sur l'écran


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 205
    Par défaut Traces bizarres sur l'écran
    Bonjour,

    Une fois de plus, je fais appel à ceux qui savent élucider les anomalies !!!
    J'ai un programme (pas celui donné plus loin, car trop volumineux) qui affiche à l'écran une Tform (qui n'est pas la principale) dont la position est variable selon divers facteurs. Le changement de position sur l'écran n'est pas géré manuellement, mais dépend de calculs et de timers.
    L'anomalie se produit dans le cas suivant :
    Le pointeur de la souris est en dehors de n'importe quelle Tform de l'application : il pointe sur le fond d'écran. On déplace alors la souris en appuyant sur son bouton gauche. Ceci trace sur l'écran un rectangle en pointillé, ce qui est normal. Mais, lorsqu'on relache le bouton de la souris, le rectangle reste tracé sur l'écran au lieu de disparaître. On peut avoir ainsi un grand nombres de ces traces anormales qui subsistent sur l'écran (tant qu'une autre fenêtre n'est pas passée au dessus des traces résiduelles, ou qu'on n'a pas fait une reconstruction de bureau).
    Le petit programme suivant permet de reproduire cette anomalie. il comporte deux Tforms et un Ttimer.
    Code de Unit1 :
    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
    var
      Form1: TForm1;
     
    implementation
     
    uses Unit2;
     
    {$R *.DFM}
     
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
         form1.width:=200;
         form1.height:=200;
         form1.left:=0;
         form1.top:=0;
         timer1.interval:=500;
         timer1.enabled:=true;
    end;
     
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
         form2.left:=300+random(400);
         form2.top:=200+random(200);
    end;
     
    end.
    Code le Unit2:
    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
    var
      Form2: TForm2;
     
    implementation
     
    {$R *.DFM}
     
    procedure TForm2.FormCreate(Sender: TObject);
    begin
         form2.width:=200;
         form2.height:=100;
         form2.visible:=true;
    end;
     
    end.
    Lorsque l'application tourne, Form2 change aléatoirement de position sur l'écran.
    Amener le pointeur de souris hors de Form1 et Form2 (c'est à dire sur le fond d'écran). Apuyer sur le bouton gauche de la souris, déplacer la souris, relacher le bouton. Recommencer plusieurs fois. Il reste sur l'écran des traces qui ne disparaissent pas.
    Et encore plus fort : Si on déclare Form2.visible:=false, l'anomalie se produit encore de la même façon, alors bien que rien ne bouge sur l'écran.

  2. #2
    Membre Expert

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Par défaut
    Salut

    Le rectangle dont tu parles, c'est celui de sélection d'icones sur le bureau ? T'es sous XP ? Si oui aux deux, ben c'est pas un probleme de ton prog, il me semble. J'ai déja eu souvent ce probleme que le rectangle ne s'efface pas ... C'est XP quoi ...

    Pour le fiare partir, tu pourrais rafraichir le bureau ...

  3. #3
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 205
    Par défaut
    En effet, c'est avec XP et le rectangle de sélection des icones.
    Dans le véritable programme, ce qui est gênant avec ce genre d'anomalie est que, lorque le programme tourne en arrière plan et que l'utilisateur du PC travaille sur autre chose, cela produit ces traces désagréables : que ce soit des sélections par le bouton gauche de la souris, ou d'autres manipulations avec le bouton droit.
    Bien sûr, on peut rafraichir le bureau. Mais il faudrait le faire en permanence à intervalles réguliers courts lorsque le programme principal tourne en arrière plan.

  4. #4
    Membre Expert

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Par défaut
    Je pense pas que tu puisses y faire quelque chose alors

  5. #5
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 205
    Par défaut
    Oui, je le craignais. Mais s'il y avait une possibilité, je ne voudrais pas la rater.
    Merci pour ton avis.

  6. #6
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 205
    Par défaut
    Il n'y aura rien de plus sur ce sujet, semble-t-il.
    Puisqu'il n'est pas possible de faire quoi que ce soit, on ne peut pas marquer "Résolu". Ce doit être "Délestage" qui convient dans ce cas.

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

Discussions similaires

  1. [cr 8.5] pb bizarre sur 1ère page (champs tronqués..)
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 09/02/2007, 15h47
  2. Video à cheval sur 2 écrans ???
    Par Invité1 dans le forum Vidéo
    Réponses: 4
    Dernier message: 08/08/2005, 13h44
  3. Probleme bizarre sur relief d'un bouton
    Par Kara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/07/2005, 11h32
  4. [Delphi] Affichages de caractères sur l'écran
    Par julie20 dans le forum Débuter
    Réponses: 12
    Dernier message: 17/09/2003, 23h21
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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