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 :

TpaintBox ou TCanvas : dessiner sur un autre "layer"


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut TpaintBox ou TCanvas : dessiner sur un autre "layer"
    Bonjour à tous,

    Je suis désole je pense que je vais paraitre vague, mais je vais tenter d'être le plus précis possible.

    Voila j'utilise actuellement un composant "PaintBox" sur lequel je dessine le spectre d'un son. Cette "PaintBox" fait partie d'un player, dans lequel je peux lire le son dont j'affiche le spectre.
    J'aimerais ajouter à cet affichage du spectre une barre verticale sensée représenter le "curseur" du player, et je ne vois pas réellement comment faire sans avoir à redessiner tout le spectre à chaque déplacement de ma "barre-curseur". Est-il possible d'ajouter un "Layer" transparent à un composant PaintBox, quelque chose qui me permettrait de dessiner une fois seulement le spectre, puis à chaque déplacement de mon curseur faire uniquement un "Clear Layer - Print cursor" ?

    Voila je vous remercie, et pardon si c'est trop confus, dites-le moi si on n'y comprend rien .

    ps : en gros pour faire simple, pour ceux qui ont déjà utiliser audacity, je cherche à faire le même effet que lorsque l'on lit un son dans cette appli.

  2. #2
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Pourquoi n'utiliserais-tu pas un TChart pour dessiner ton spectre et ton curseur

    Ton spetre représenterait une série, et ton curseur une autre.
    Il te suffirait ensuite de modifier la série correspondant au curseur et ainsi tu n'aurais pas à redessiner ton spectre.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    Malheureusement j'ai comme contrainte l'utilisation de Borland 1, ce qui réduit sérieusement le nombre de composants que j'ai à disposition ; TChart fait partie des composants dont je ne peux pas me servir ... : / (merci tout de même pour ta réponse )

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 190
    Par défaut
    Bonjour,

    Il me semble que le plus simple à faire serait d'utiliser le mode de dessin Xor.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    TPaintBox *Test = new TPaintBox(this);
    Test->Canvas->Pen->Mode = pmXor;
    Tu n'auras qu'à redessiner le curseur une deuxième fois à la même position pour l'effacer, puis le dessiner à sa nouvelle position.

    Benjamin

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    Parfait ! c'est exactement ça ! merci beaucoup !

  6. #6
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Dommage que tu ne puisses pas utiliser TChart car cela t'aurais facilité les choses.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    Ouais je sais bien mais malheureusement impossible de porter l'appli vers un builder plus récent, le link ne passe pas, la nouvelle version a des problèmes de symboles non résolus (alors que tout fonctionne bien dans la version présente).

Discussions similaires

  1. Dessiner sur la barre de titre d'une autre application
    Par petitprince dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/10/2007, 17h29
  2. Réponses: 1
    Dernier message: 04/09/2007, 19h08

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