Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2012, 16:17   #1
digital-stream
Пользователь
 
Регистрация: 03.05.2011
Сообщений: 81
По умолчанию Прокрутка ListBox

в события DrawItem добавил следующий код
Код:
  ListBox1.Canvas.Brush.Style := bsSolid;
  // Если строчка выделена то рисуем зелёную рамку
  if odSelected in State then
  begin
       ListBox1.Canvas.Brush.Color := $00B6FFB6;
       // Рисуем "залитый" прямоугольник
       ListBox1.Canvas.FillRect(Rect);
       ListBox1.Canvas.Brush.Color := $0051CE51;
       // Рисуем "пустой" прямоугольник
       ListBox1.Canvas.FrameRect(Rect);
  end else
  // или заливаем фон белым цветом если не выделена
  begin
       ListBox1.Canvas.Brush.Color := clWhite;
       // Рисуем "залитый" прямоугольник
       ListBox1.Canvas.FillRect(Rect);
  end;

  // Изменять координаты прямоугольника не обязательно
  // просто так красивее смотриться, можете закомментить
  Rect.Top := Rect.Top + 1;
  Rect.Left := Rect.Left + 2;

  // Это надо, чтоб текст выводился без фона
  ListBox1.Canvas.Brush.Style := bsClear;

  // Задаём цвет текста
  ListBox1.Canvas.Font.Color := clBlack;

  // Рисуем текст
  DrawText(ListBox1.Canvas.Handle, PChar(ListBox1.Items[Index]),
           Length(ListBox1.Items[Index]), Rect, 0);
и теперь если крутит барабан и или как там его еще называют средней кнопкой то Listbox прокручивается как бешеный.
в прочем кто меня не понял я выложил исходники .
Думаю причина в выделении кто знает помогите решит проблему
Вложения
Тип файла: rar Новая папка (2).rar (87.0 Кб, 23 просмотров)
digital-stream вне форума Ответить с цитированием
Старый 17.03.2012, 21:14   #2
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

проблемы не наблюдаю
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 17.03.2012, 21:21   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Тоже проблем не увидел. Откомпилировать в D7 смог только убрав все префиксы перед юнитами в Uses. Первый раз такое вижу. Вопрос к ТС - что это означает?
Код:
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
Строку тоже пришлось закоментить
Код:
  Application.MainFormOnTaskbar := True;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 17.03.2012 в 21:26.
Аватар вне форума Ответить с цитированием
Старый 17.03.2012, 22:33   #4
digital-stream
Пользователь
 
Регистрация: 03.05.2011
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Тоже проблем не увидел. Откомпилировать в D7 смог только убрав все префиксы перед юнитами в Uses. Первый раз такое вижу. Вопрос к ТС - что это означает?
Код:
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
Строку тоже пришлось закоментить
Код:
  Application.MainFormOnTaskbar := True;
Я сам эти префиксы первый раз увидел когда установил XE2
digital-stream вне форума Ответить с цитированием
Старый 17.03.2012, 22:36   #5
digital-stream
Пользователь
 
Регистрация: 03.05.2011
Сообщений: 81
Радость

Цитата:
Сообщение от Slym Посмотреть сообщение
проблемы не наблюдаю
почему все же не плавно прокручивается
digital-stream вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прокрутка выделения Items в Listbox колёсиком мышки werrey Общие вопросы Delphi 4 18.10.2011 08:21
Прокрутка StringGrid FAnkyDron Общие вопросы Delphi 2 26.03.2011 10:39
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23
Прокрутка в listbox-e. blackstersl Общие вопросы Delphi 1 21.06.2009 10:12
Прокрутка nala HTML и CSS 0 29.09.2008 16:15