Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Как синхронизировать прокрутку двух Listbox ов???   Найти похожие ветки 

 
rolex   (2005-01-12 15:25) [0]

Меня не устраивает компонент Listview. Придётся изобретать велосипед, но всё-же.


 
Sandman25 ©   (2005-01-12 15:30) [1]

Когда стояла аналогичная задача, присваивал ItemIndex


 
rolex   (2005-01-12 15:36) [2]

А может ещё есть варианты?


 
begin...end ©   (2005-01-12 15:37) [3]

> [2] rolex   (12.01.05 15:36)

Есть.


 
rolex   (2005-01-12 15:40) [4]


> begin...end ©   (12.01.05 15:37) [3]
> > [2] rolex   (12.01.05 15:36)
>
> Есть.

Дайте примерчик пожалуйста!


 
begin...end ©   (2005-01-12 15:42) [5]

> [4] rolex   (12.01.05 15:40)

Варианты есть. Примерчика нет.
Вариант: отлавливать в одном listbox"е WM_VSCROLL и пересылать его другому listbox"у.


 
rolex   (2005-01-12 15:48) [6]

а как это сделать? Я без примера не могу. Можно примерчик, ну пожалуйста!!!


 
rolex   (2005-01-12 16:35) [7]

НУ помогите же!!! плиз! срочно надо!


 
rolex   (2005-01-12 18:09) [8]

Так всё-же как сделать с WM_VSCROLL ???


 
bulkas   (2005-01-12 18:13) [9]

если без примерчика не можешь присваивай ItemIndex, хоть поймешь что сделал.


 
rolex   (2005-01-12 18:57) [10]

A с ItemIndex как??? На какое событие то ставить?


 
Vit@ly ©   (2005-01-12 19:47) [11]

http://denisov.i2x2.ru/delphi/Units/SListBox.rar


 
rolex   (2005-01-12 22:09) [12]

Вот код, который мне был предложен предыдущим постом:
unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   ListBox2: TListBox;
   Splitter1: TSplitter;
   procedure FormCreate(Sender: TObject);
   private
   { Private declarations }
   lbproc1, lbproc2: TWndMethod;
   procedure NewProc1(var msg: TMessage);
   procedure NewProc2(var msg: TMessage);
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.NewProc1;
begin
 case msg.Msg of
   WM_VSCROLL, LB_SETCURSEL,
   WM_KEYFIRST..WM_KEYLAST,
   WM_MOUSEFIRST..WM_MOUSELAST:
     lbproc2(msg);
 end;
 lbproc1(msg);
end;

procedure TForm1.NewProc2;
begin
 case msg.Msg of
   WM_VSCROLL, LB_SETCURSEL,
   WM_KEYFIRST..WM_KEYLAST,
   WM_MOUSEFIRST..WM_MOUSELAST:
     lbproc1(msg);
 end;
 lbproc2(msg);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 lbproc1 := ListBox1.WindowProc;
 ListBox1.WindowProc := NewProc1;
 lbproc2 := ListBox2.WindowProc;
 ListBox2.WindowProc := NewProc2;
end;

end.


Всё работает замечательно. Но есть одно НО, сначала прокручивается один listbox, потом второй listbox. А нельзя чтоб они прокручивались одновременно?


 
TButton ©   (2005-01-12 22:29) [13]

а TListBo.TopIndex не спасеь отца русской демократии?
и одно из двух событий OnDrawItem (теоретически должно вызываться при прокрутке, без изменения выделеной строки) или onClick (вызывается при именении выделеной строки)


 
Vit@ly ©   (2005-01-13 07:36) [14]

Всё работает замечательно. Но есть одно НО, сначала прокручивается один listbox, потом второй listbox. А нельзя чтоб они прокручивались одновременно?
Похоже, что у тебя комп чем-то перегружен. У меня скролит одновременно, хотя у друзей тоже тормозит.
Посмотри автозагрузку, нет ли чего-либо "лишнего"?


 
rolex   (2005-01-13 11:06) [15]


> Всё работает замечательно. Но есть одно НО, сначала прокручивается
> один listbox, потом второй listbox. А нельзя чтоб они прокручивались
> одновременно?
> Похоже, что у тебя комп чем-то перегружен. У меня скролит
> одновременно, хотя у друзей тоже тормозит.
> Посмотри автозагрузку, нет ли чего-либо "лишнего"?

Нет, ты что. Ты попробуй не быстро прокручивать, а кратковременно курсором кликать на одну з стрелочек скроллбара.


 
rolex   (2005-01-13 11:06) [16]


> Всё работает замечательно. Но есть одно НО, сначала прокручивается
> один listbox, потом второй listbox. А нельзя чтоб они прокручивались
> одновременно?
> Похоже, что у тебя комп чем-то перегружен. У меня скролит
> одновременно, хотя у друзей тоже тормозит.
> Посмотри автозагрузку, нет ли чего-либо "лишнего"?

Нет, ты что. Ты попробуй не быстро прокручивать, а кратковременно курсором кликать на одну з стрелочек скроллбара.


 
rolex   (2005-01-13 12:03) [17]


> а TListBo.TopIndex не спасеь отца русской демократии?
> и одно из двух событий OnDrawItem (теоретически должно вызываться
> при прокрутке, без изменения выделеной строки) или onClick
> (вызывается при именении выделеной строки)

Тоже самое, что и с предыдущим примером. Прокручиваются не совсем одновременно, вначале наблюдается отставание.


 
rolex   (2005-01-13 19:06) [18]

ауу!!! Помогите же.


 
Vit@ly ©   (2005-01-13 20:43) [19]

2 rolex   (13.01.05 11:06) [16]
"Лечи" свой компьютер. Или проверь программу на компьютерах друзей
Все летает, ни каких задержек и тормозов


 
bulkas   (2005-01-13 22:39) [20]

не, он не про то.
сначала скролится один лист-бокс, а затем второй.
как сделать, чтоб оба одновременно скролились?


 
rolex   (2005-01-14 19:07) [21]


> bulkas   (13.01.05 22:39) [20]
> не, он не про то.
> сначала скролится один лист-бокс, а затем второй.
> как сделать, чтоб оба одновременно скролились?

Хоть ты меня понял.


 
Vit@ly ©   (2005-01-14 19:41) [22]

2 rolex   (14.01.05 19:07) [21]
См. (и желательно последуй) Vit@ly ©   (13.01.05 20:43) [19]
и никаких
сначала скролится один лист-бокс, а затем второй.


 
Vit@ly ©   (2005-01-14 19:51) [23]

В догонку.
Опиши кратко свою "железку"


 
rolex   (2005-01-15 21:09) [24]


> Vit@ly ©   (14.01.05 19:51) [23]
> В догонку.
> Опиши кратко свою "железку"

P-III 866Mhz, 256Mb. Помоему этого достаточно, для выполнения таких операций.



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.038 c
3-1104069953
NEEDHELP
2004-12-26 17:05
2005.01.30
kak sohranit jpg kartinku v bazu dannih ??


6-1099864447
Роман
2004-11-08 00:54
2005.01.30
Траффик и дозвон.


1-1105730304
KristinA
2005-01-14 22:18
2005.01.30
Nuzhna pomozh s programkoj Rave Reports


1-1105614393
вратарь
2005-01-13 14:06
2005.01.30
криптография


1-1106068515
Torvald
2005-01-18 20:15
2005.01.30
Деля 2005 не знает классов TServerSocket