![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TReeView мигание! [D5, Win95/98, NT4, Win2k, WinXP]
Каспер © (2002-04-17 09:19:00)Привет !
Кто нить знает как заделать мигание без таймера Узла дерева в компоненте ТРИВИЮ...
пока мигает так... по таймеру
procedure TUserListClass.TimerTimer(Sender: TObject);
Var I:Integer;
begin //
Windows (2002-04-17 15:56:00) [1]а если repeat ... until ...;
exchoper (2002-04-17 14:35:00) [2]не помешает еще
BeginUpdate
EndUpdate
для Items
REA (2002-04-17 10:55:00) [3]Это дело наверняка не поддерживается; надо руками делать - а тут вариантов не так много. Таймер как раз самый безобидный вариант.
Каспер (2002-04-17 09:38:00) [4]Дело в том что все это реализовано через компонент ТАЙМЕр :( а мне бы хотелось если такое возможно без него.
Ну типа анимированый gif встроить...
REA (2002-04-17 09:36:00) [5]Ну разве что еще упростить код
Const
States: Array[Boolean] Of Byte = [4,5];
For i := 0 to Count-1 Do
With (TUserClass(objects[i]),node) Do
Begin
ImageIndex := States[Msg.Count<>0];
SelectedIndex := ImageIndex;
End;
(или еще функция в D6 есть IfThen чего-то - условное присваивание)
а так, если уже мигает, то зачем еще что-то?
можно еще StateIndex (или как там его) использовать или OwnerDraw.
Еще полезно сначала заблокировать дерево и потом разблокировать
(BeginUpdate - EndUpdate) и если уж это не помогло, то еще заблокировать само окно от перерисовки (хотя не исключено что это тоже самое - в код не залезал).