Pewnie @-123 będzie miał mi za złe, ale kolejny raz się zlituje, chociaż wyraża przy okazji swoje zdziwienie ponieważ...
Ad 1:
A w czy masz problem? Co za kłopot napisac coś w stylu poniżej. Przecież to logiczne, że na zmianę Itemów w ListBox reagujesz w ich zdarzeniach OnClick, należy jedynie sprawdzać if'ami czy Itemy istnieją żeby nie dostawać wyjątków od IDE o tym, że index ot ouf bounds
i tym podobne. Program powinien być zawsze idioto odporny, a jego programista powinien mieć i używać TBrain jak wspomniał poprzednik. Komponent jest darmowy, ale każdy ma go w innej wersji zaawansowania, należy po prostu myśleć samodzielnie i kombinować oraz googlować zanim zada się pytanie. Nawet tutaj i w dziale Newbie. Wtedy Twój TBrain pozwala Tobie myśleć i być samodzielnym.
//...
procedure TForm1.ListBox1Click(Sender : TObject);
var
Idx : integer;
begin
Idx := ListBox1.ItemIndex;
if Idx > -1 then
begin
if Idx <= ListBox2.Items.Count - 1 then
begin
ListBox2.ItemIndex := Idx;
end;
end;
end;
procedure TForm1.ListBox2Click(Sender : TObject);
var
Idx : integer;
begin
Idx := ListBox2.ItemIndex;
if Idx > -1 then
begin
if Idx <= ListBox1.Items.Count - 1 then
begin
ListBox1.ItemIndex := Idx;
end;
end;
end;
//...
Ad 2:
Miałem gdzieś gotowy kod na dysku, ale nie potrafię na szybko odnaleźć, to było na pewno coś z WndProc, ale znowu tutaj moje zdziwienie, bo coż za problem wpisać w google: delphi scroll two listbox the same time - sam sprawdziłem, oczywiście żaden. Trzeba tylko chcieć. I masz wtedy jako pierwszy wynik te stronę: http://www.delphipages.com/forum/showthread.php?t=164288 - kod działa, ale oczywiście można to rozwiązać przez obsługę komunikatów dla obu ListBoxów, czyli na pewno coś z WndProc albo całej formatki albo konkretnych kontrolek, a to również jest udokumentowanie jeżeli nie wystarczą Tobie informacje na MSDNie, to z pewnością można wygooglowac mnóstwo przykładów. Rozumiem każdego początki, ale lenistwa do korzystania z google i niechęci do pomyślenia nic nie usprawiedliwi, także ogarnij się i na przyszłośc po prostu poszukaj i pokombinuj zanim zapytasz, a tymbardziej w kwestii tak - na prawdę uwierz mi - banalanych zagadnień.