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

Composants VCL Delphi Discussion :

Pb affichage du canvas dans une TImage


Sujet :

Composants VCL Delphi

  1. #21
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    En fait je lis un fichier texte avec des messages datés.
    Exemple :
    04/10/2005 | 12:25:36.359 | Message

    Ces messages sont ensuite affichés dans les TImages (dernier essai une seule TImage).
    A chaque nouveau message, j'efface le contenu du canvas de la TImage pour réécrire dedans.

    J'ai la possibilité avec mon appli d'avancer ou de remonter le fichier contenant les messages, tout en mettant a jour l'affichage.

    Mon probleme arrive parfois dés l'affichage du 3 ou 4eme message, soit plus frequement apres quelques manipulation avance/recul sur la lecture du fichier.

    J'espere avoir été assez clair?

  2. #22
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 207
    Points : 188
    Points
    188
    Par défaut
    Mais au bout d'un certain temps
    Pour moi, cela évoque un problème de mémoire.

    Si j'ai bien compris, tu affiches un journal sur un fond d'écran coloré...
    Ce que je ferais, si c'est un problème mémoire et si c'est possible, c'est, toutes les 5 ou 6 maj du TImage, je détruirais tout, puis je recréerais l'ensemble. (au moment de la destruction/création, si c'est long, tu peux afficher ton fond d'écran avec un message type "Chargement en cours...")

    L'autre solution viendrait d'une gestion type "calque", comme sur les logiciels de dessin

    Contrairement à beaucoup de participants de ce forum, je suis pas un cador, je ne suis donc pas tout à sûr de la solution que j'avance ici. Mais si ça peut donner une piste...

  3. #23
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    J'ai deja essayé de recréer les TImages.
    Mais je n'arrive pas a les afficher de nouveau apres les avoir récréées.

    Je continu de chercher, voir si je n'ai pas oublié de positionner une des propriétés a true.

  4. #24
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    ou de leur donner un parent
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #25
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    :op

    Biensur que je leur ai donné un parent...

  6. #26
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Est-ce quelque chose de ce genre que tu essayes de faire ?

    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
     
    procedure TForm1.PaintBox1Paint(Sender: TObject);
    begin
      SetBkMode(PaintBox1.Canvas.Handle, TRANSPARENT);
      PaintBox1.Canvas.Font.Color := clRed;
      PaintBox1.Canvas.TextOut(0,0, FText);
    end;
     
    procedure TForm1.BmcBitBtn1Click(Sender: TObject);
    begin
      FText := IntToStr(StrToInt(FText) + 1);
      PaintBox1.refresh;
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FText := '1';
    end;

  7. #27
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    J'utilise une TImage et non une TPaintBox, mais dans l'idée c'est a peu pres la meme chose.

    J'utilise le TextOut pour afficher lettre par lettre un message dans le canvas.

  8. #28
    Membre à l'essai
    Inscrit en
    Avril 2002
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    Si dans l'idée c'est pareil, alors utilise le PaintBox !
    Dans mon exemple, je n'ai aucun problème d'affichage !

  9. #29
    Futur Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 22
    Points : 8
    Points
    8
    Par défaut
    J'ai remplacer toutes les TImages par des TPaintBox.
    Je n'ai plus aucun probleme d'affichage.
    Par contre j'ai quelques bugs qui sont apparues que je vais devoir resoudre au fur et a mesure.
    En tout cas ca ne m'explique toujours pas pourquoi avec des TImages, j'avais des problemes.

    J'ais une derniere question.
    Je suis obligé de mettre le propriété Visible des TPaintBox a false pour pouvoir afficher du texte est-ce normal?

    Merci a tous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Affichage des chiffres dans une phrases arabe
    Par omda dans le forum Oracle
    Réponses: 4
    Dernier message: 30/09/2005, 13h36
  2. Réponses: 2
    Dernier message: 14/09/2005, 13h39
  3. Probleme d'affichage d'image dans une fenetre
    Par cgregueusse dans le forum MFC
    Réponses: 1
    Dernier message: 03/08/2005, 11h08
  4. [Exception]Affichage de message dans une Execption
    Par harris_macken dans le forum Général Java
    Réponses: 8
    Dernier message: 29/05/2005, 17h34
  5. Affichage d'images dans une fenêtre
    Par tonycalv dans le forum MFC
    Réponses: 6
    Dernier message: 20/04/2005, 20h02

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