![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Нашёл такой текст, а как этим пользоваться понять не могу. У меня при передвижении с multiselect'om происходят ужасные полосы. Вероятно да так и есть когда происходит exchange сначала становится фоновым цвет, а далее я снова выделяю. Как вариант может как то отключить снятие селектов при exchange'е можно?
Цитата:
Я покавот так вот сделал, в принципе тоже самое что и вообще ни чего не писать: Цитата:
|
|
#2
|
|||
|
|||
|
Дак вот зачем они нужны
. Целый вечер убил. Однако пока ещё заметно мелькание(намного меньшее), за пределами multiselect. Т.е. не выеленный текст. КАк чтобы вообще не мелькало? ТоваристЧи, Есть идея? Пожалуйста....Items.BeginUpdate; <code></code> Items.EndUpdate; |
|
#3
|
||||
|
||||
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
S : String;
begin
// Очистка
ListBox1.Clear;
S := 'C:\Windows\*.bmp';
// Даем команду листбоксу чтобы он нашел все картинки в папке Windows
// и занес их имена к себе
ListBox1.Perform(LB_DIR, DDL_READWRITE, Longint(@S[1]));
end;
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TListBox).Canvas do
begin
// очищаем прямоугольник
FillRect(Rect);
// В зависимости от индекса - определяем цвет
Font.Color := clBlack;
case Index of
0: Font.Color := clBlue;
1: Font.Color := clRed;
2, 4: Font.Color := clGreen;
end;
// Выводим текст
TextOut(Rect.Left, Rect.Top, Listbox1.Items[Index]);
end;
end;
end. |
|
#4
|
|||
|
|||
|
Да Wipahacker эту заметку видел спасибо
![]() надо наверное обрабатывать изменяющих положение элеменов, то обрабатывать. Тогда только оселекченные элементы буду мерцать. А это уже не так страшно, наверное ЗЫ://Кстати у Винампа всё же уловил слабое мерцание. ![]() |