Question

J'ai un CRichEditCtrl, et un algorithme fonctionne sur son contenu en place, itérer le contenu et faire des changements. Cela semble l'amener à nouveau paaint chaque fois, ce qui provoque vacillante et un temps notable pour terminer l'opération, en particulier si le contrôle commence à défiler. Je me demandais s'il y a une belle façon pour moi de l'arrêter repeindre pendant une période. Il est en fait une sous-classe personnalisée de CRichEditCtrl utilisé donc je pensais quelque chose comme:

void MyCustomEditCtrl::DoAlgorithm()
{
 enableRepaint(false);
 ...
 //to the actual work
 ...
 enableRepaint(true);
}

Quelle est l'approche la plus nette? Un gestionnaire personnalisé sur-peinture qui ne fait rien lorsqu'une opération est en cours? Ou peut repeindre effectivement être désactivé?

Était-ce utile?

La solution

Je ne l'ai jamais utilisé la fonction, mais il semble que vous voulez regarder CWnd :: setRedraw .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top