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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

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

как прокрутит листбох тракбаром не трогая position и чтобы когда прокручиваешь лист колесиком мышки и тракбар за ним успевал
digital-stream вне форума Ответить с цитированием
Старый 25.03.2012, 20:46   #2
Ghost of Night
Форумчанин
 
Аватар для Ghost of Night
 
Регистрация: 08.08.2010
Сообщений: 371
По умолчанию

Зачем на ListBox TrackBar, если там свой Скрол есть?
Хакинг - не преступление, а способ выживания.
Ghost of Night вне форума Ответить с цитированием
Старый 29.03.2012, 00:39   #3
digital-stream
Пользователь
 
Регистрация: 03.05.2011
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Ghost of Night Посмотреть сообщение
Зачем на ListBox TrackBar, если там свой Скрол есть?
значит так надо !
digital-stream вне форума Ответить с цитированием
Старый 29.03.2012, 20:46   #4
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от digital-stream Посмотреть сообщение
как прокрутит листбох тракбаром не трогая position
вопрос гениален по своей тупости
position меняется автоматически при движении ползунка
соответственно его нельзя ненетрогать впринципе

у листбокса есть свойство TopIndex,вот как подружиш его с position,так и будет

Цитата:
Сообщение от Ghost of Night Посмотреть сообщение
Зачем на ListBox TrackBar, если там свой Скрол есть?
ну это же некруто скролить скролом ,ты совсем не шариш в разработке GUI
robt вне форума Ответить с цитированием
Старый 29.03.2012, 21:44   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
значит так надо !
Значит придется тебе делать собственную отрисовку, и прикручивать другой тракбар.
Вот пример с роллером:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TListBox=class(StdCtrls.TListBox)
   private
    procedure wmm(var m:TWMMouseWheel); message WM_MouseWheel;
  end;
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
 for i:=0 to 100 do ListBox1.Items.Add(IntToStr(random(100)));
 ListBox1.Style:=lbOwnerDrawFixed
end;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
 with ListBox1 do begin
 if ((tag+Index)<0)or((tag+Index)>Count) then exit;
   with Canvas do begin
    FillRect(rect);
    TextRect(Rect,rect.Left,rect.Top,Items[Tag+index]);
   end;
 end;
end;

{ TListBox }

procedure TListBox.wmm(var m: TWMMouseWheel);
begin
 if m.WheelDelta>0 then  tag:=tag-1 else tag:=tag+1;
 Repaint;
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JDialog и прокрутка X@OC Общие вопросы по Java, Java SE, Kotlin 3 04.05.2011 18:27
ListView,прокрутка ardent Компоненты Delphi 0 02.07.2009 16:06
Прокрутка в listbox-e. blackstersl Общие вопросы Delphi 1 21.06.2009 10:12
Прокрутка в Memo Freestyler Помощь студентам 3 02.12.2008 21:19
Прокрутка nala HTML и CSS 0 29.09.2008 16:15