Что нового

Медленная работа функции GUICtrlCreateLabel в цикле

Yuriy_V.

Новичок
Сообщения
22
Репутация
0
Добрый день.

Не могу решить данную проблему, при вывода текста функцией GUICtrlCreateLabel в цикле, со временем начинает гораздо медленнее выводить текст в окно и заметны проскакивание предыдущих значений в поле вывода.

В примере счетчика это хорошо видно, пробовал на разных компьютерах. Подскажите пожалуйста из-за чего это может быть?

Код:
#include <GUIConstantsEx.au3>

Local $i

GUICreate('Стили Label', 250, 100)
GUISetState()
Do
	GUICtrlCreateLabel('Счетчик:'&$i, 10, 30, 100, 30)
	Sleep(100)
	$i = $i+1
Until GUIGetMsg() = $GUI_EVENT_CLOSE


С уважением, Юрий.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Вы постоянно создаёте "Label" потому и тормозит, нужно один раз создать, а в цикле менять значения уже созданному "Label", например так :
Код:
#include <GUIConstantsEx.au3>

Local $i

GUICreate('Стили Label', 250, 100)
$Label = GUICtrlCreateLabel('', 10, 30, 100, 30)
GUISetState()
Do
	GUICtrlSetData ( $Label,'Счетчик:'&$i )
    Sleep(100)
    $i = $i+1
Until GUIGetMsg() = $GUI_EVENT_CLOSE
 
Автор
Y

Yuriy_V.

Новичок
Сообщения
22
Репутация
0
Огромное спасибо, всё работает!!! :beer:
 
Верх