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

C++Builder Discussion :

TImage et GUI, ou comment eviter les scintillements


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut TImage et GUI, ou comment eviter les scintillements
    Bonjour a tous,

    comme vous pouvez le voir sur la gauche, je suis un tout debutant...dans ce forum et en C++ en general...
    Je commence a faire une petite application et je suis deja completement bloque. Je m'explique:
    Je veux ajouter des 'rayons' a un cercle (en dynamique). A savoir que je dispose d'un(e) TImage sur lequel/laquelle j'ai dessine un cercle, et selon ou je me promene, un 'rayon' suis la souris. Quand je clique, le rayon se 'fige'.
    Seulement voila, lorsque je veux dessiner plus d'un rayon (les uns apres les autres), quand ils se chevauchent celui du dessous disparait (normal je reecris dessus).
    Je comptais mettre un second TImage par dessus en transparent, mais a ce moment l'image 'scintille'... Comemnt le gerer?

    Si quelqu'un a une petite idee....
    Merci.

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    Salut,
    quelques questions pour mieux aborder le sujet :
    • Pourquoi à tu besoins de garder ton premier rayon ?
    • Tu fait un traitement dessus par la suite ?
    • Le scintillement doit être du au fait que tu modifie l'ordre de tes TImage en premier plan, ne peut tu pas les laisser dans l'ordre ou ils sont ?
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 81
    Points
    81
    Par défaut
    As-tu essayé de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoubleBuffered = true;
    au controle qui contient ton image?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci pour les reponses...Effectivement ca manque une peu de precisions.

    En fait je dois decouper un disque en quadrants, c'est pour cela que je compte garder les rayons...

    Je suis tombe sur une autre erreur:
    Impossivble d'ajouter un TShape dynamiquement sur mon TImage...
    Voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        TShape *shape=new TShape(image);
        shape->Shape=stEllipse;
        shape->Height=50;
        shape->Width=50;
        shape->Top =0                 ;
        shape->Left= 50;
        shape->Visible=true;
        shape->Brush->Style=bsSolid;
        shape->Pen->Style=psSolid;
    Au passage, j'utilise une TImage car je vais avoir besoin d'ajouter une image 'derriere' le disque au final.

    Merci pour le Double buffered, engrobel, je connaissais pas.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Hop-la...

    J'ai tout resolu...
    Une seule PaintBox qui se rafraichit a chaque Mousemove... plus de scintillement.

    Pour le TShape j'avais oublie la propriete 'Parent':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shape->Parent=image->Parent;
    Encore merci

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

Discussions similaires

  1. GUI & App : comment séparer les deux choses
    Par raboliot dans le forum wxPython
    Réponses: 1
    Dernier message: 14/03/2007, 12h00
  2. Réponses: 2
    Dernier message: 11/09/2006, 10h49
  3. Comment eviter les doubons dans une requête?
    Par jyms2006 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/03/2006, 14h08
  4. [TP] Lecture de nombres : comment éviter les plantages ?
    Par le-an dans le forum Turbo Pascal
    Réponses: 3
    Dernier message: 20/11/2005, 14h54
  5. [C#] Comment eviter les boucles infinies ?
    Par Thomas Lebrun dans le forum C#
    Réponses: 12
    Dernier message: 09/06/2004, 00h04

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