سؤال

لديّ cricheditctrl ، ويعمل خوارزمية على محتوياتها في مكانها ، مع تكرار المحتويات وإجراء تغييرات. يبدو أن هذا يتسبب في إعادة تشويهه في كل مرة ، مما يسبب الخفقان ووقتًا ملحوظًا لإكمال العملية ، خاصةً إذا بدأت التحكم في التمرير. تساءلت عما إذا كانت هناك طريقة أنيقة بالنسبة لي لوقفها إعادة الطلاء لفترة. إنها في الواقع فئة فرعية مخصصة من cricheditctrl قيد الاستخدام لذلك كنت أفكر في شيء مثل:

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

ما هو النهج الأنيق؟ معالج مخصص على القطع الذي لا يفعل شيئًا عندما تكون العملية قيد التقدم؟ أو هل يمكن تعطيل إعادة الطلاء بالفعل؟

هل كانت مفيدة؟

المحلول

لم أستخدم الوظيفة مطلقًا ولكن يبدو أنك تريد النظر إليها cwnd :: setRedRaw.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top