Hallo,
ich habe 5 Listboxen (ca 50 Einträge), die ich synchronisiert über den Scrollbar einer Listbox anspreche. Diese Listbox ist auf lbOwnerDrawFixed gestellt und ruft im OnDraw bei Veränderung von TopIndex die anderen Listboxen. Die restlichen Scrollbars habe ich abgeschaltet.
Die Listbox mit Scrollbar reagiert sofort, die anderen mit je 0,5 s Zeitverzögerung. Beim Drehen am Mausrad ist dann erst mal Sendepause.
Was läuft hier verkehrt und wie geht es besser?? Auf TMemo umzustellen finde ich unsportlich...
Danke !!
Dirk
procedure TListBoxOhneScroll.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := Style and not WS_VSCROLL;
end;
end;
procedure TDateiZuordnen.MyOnDraw (Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
const leer = ' ';
begin
MessPktList.Canvas.TextOut(Rect.Left, Rect.Top, MessPktList.Items[Index]+leer);
if (MerkIndex <> MessPktList.TopIndex) then
begin
MerkIndex := MessPktList.TopIndex;
BetrPktList.TopIndex := MerkIndex;
BetrPktAnzList.TopIndex := MerkIndex;
ich habe 5 Listboxen (ca 50 Einträge), die ich synchronisiert über den Scrollbar einer Listbox anspreche. Diese Listbox ist auf lbOwnerDrawFixed gestellt und ruft im OnDraw bei Veränderung von TopIndex die anderen Listboxen. Die restlichen Scrollbars habe ich abgeschaltet.
Die Listbox mit Scrollbar reagiert sofort, die anderen mit je 0,5 s Zeitverzögerung. Beim Drehen am Mausrad ist dann erst mal Sendepause.
Was läuft hier verkehrt und wie geht es besser?? Auf TMemo umzustellen finde ich unsportlich...
Danke !!
Dirk
procedure TListBoxOhneScroll.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := Style and not WS_VSCROLL;
end;
end;
procedure TDateiZuordnen.MyOnDraw (Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
const leer = ' ';
begin
MessPktList.Canvas.TextOut(Rect.Left, Rect.Top, MessPktList.Items[Index]+leer);
if (MerkIndex <> MessPktList.TopIndex) then
begin
MerkIndex := MessPktList.TopIndex;
BetrPktList.TopIndex := MerkIndex;
BetrPktAnzList.TopIndex := MerkIndex;