MFC Динамический контроль текста? - PullRequest
4 голосов
/ 26 февраля 2010

Какой элемент управления MFC следует использовать и как его использовать для отображения постоянно меняющегося текста (например, текста выполнения) в диалоговом окне?

Например, должен ли я использовать статический текстовый элемент управления? Но вы можете изменить это программно?

1 Ответ

3 голосов
/ 26 февраля 2010

Да, вы можете программно изменять содержимое статического элемента управления. Измените идентификатор на что-то , отличное от IDC_STATIC, тогда вы можете назначить ему переменную-член. Вы можете установить текст с помощью your_var.SetWindowText().

Редактировать: сколько изменений вы делаете и как быстро? Я сделал программу быстрого тестирования с таймером (установленным на длительность 0), который форматирует и записывает новую строку в элемент управления, когда время срабатывает, поэтому оно постоянно обновляется. Вот как это выглядит после некоторого бега:

Test program

А вот что показывает Диспетчер задач:

Task Manager

Правый шип - это (по крайней мере, в основном) снимок экрана с сохранением программы тестирования и т. Д. Как только я прекратил делать подобные вещи, загрузка процессора вернулась к уровню шума (со случайным всплеском). Я оставил программу запущенной - через полчаса или около того, она по-прежнему работает нормально, без заметного использования процессора (в быстром, по словам диспетчера задач, он еще не использовал ни одной секунды времени процессора).

...