Scintillement TextBox [Résolu]

Signaler
Messages postés
60
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
12 septembre 2007
-
Messages postés
60
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
12 septembre 2007
-
Salut,

J'ai un petit projet qui utilise un MSComm control pour lire sur un port série. Je reçoit du texte sur ce port série et je l'affiche dans un textbox. Il n'y rien d'éxtraordianire mais le textbox scintille lors du raffraichissement et c'est assez désagréable :

Private Sub Com_OnComm()
   
    Dim Str As Variant
   
    Select Case Com.CommEvent
     
    Case comEvReceive               'Quand je reçois un truc sur le port comm
   
        RxText.Text = RxText.Text + Com.Input   'On l'ajoute sur le textbox
        RxText.SelStart = Len(RxText.Text)            'On affiche tjs les derniéres lignes
       
    End Select
   
End Sub

Vous avez une idée pour éviter le scintillement du textbox??

Merci!

2 réponses

Messages postés
75
Date d'inscription
samedi 30 août 2003
Statut
Membre
Dernière intervention
7 janvier 2008

Comme tu l'as dit, c'est bien le rafraichissement qui pose probleme.

Tu ne peux pas l'éviter (à ma connaissance ), tu dois juste rafraichir moins souvent.

Pour cela, 2 solutions suivant ton besoin :

1)
Tu recoit des infos par "a coup", a ce moment la tu peux rafraichir juste quand la reception est terminée.
Pour cela, tu accumule ton info sur un string, et dans ton event de reception, tu reset un timer ( avec une valeur de 100ms par exemple ).

Ce timer joue le role de timeout de comm.

Dans l'évenement de timer ( qui se déclenche donc quand tu n'a rien recu depuis 100ms ), tu affiche ton string dans ta text box.

2)
Tu recois les infos en continu, a ce moment la, tu laisse tourner un timer en continu, dans lequel tu rafraichit ta textbox, avec ton string d'accumulation.

Aussi tu dois faire attention a la quantité de texte dans ton textbox, car le temps rafraichissement augmente avec la quantité de texte a afficher, et pour un (tres) gros texte, les resultats peuvent vite devenir catastrophiques.
Cette derniere remarque est surtout importante si ton logiciel tourne en continu.
Messages postés
60
Date d'inscription
dimanche 20 novembre 2005
Statut
Membre
Dernière intervention
12 septembre 2007

Ok merci! Je vais tester avec le timer.