![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скроллинг [D6, Win2k]
Soors © (2002-12-05 01:35:00)Мастера помогите. У меня есть мемо и отдельно скроллинг, я не хочу использовать сколлинг в мемо, мне нужно чтобы при нажатии на мой скролл прокручивался мемо. Подскажите как ето можно сообразить.
Soors (2002-12-05 16:56:00) [1]спасибо. щас разберусь
PKT (2002-12-05 03:11:00) [2]Сорри, Label1.Caption := IntToStr(H); конечно ни к чему
PKT (2002-12-05 03:09:00) [3]Вот ограниченный вариант:
- только вертикальный скроллинг
- передача идет от скроллера к Memo, но не обратно
procedure TForm1.FormCreate(Sender: TObject);
var
T: TTextMetric;
DC: HDC;
H: Integer;
begin
DC := GetDC(Memo1.Handle);
GetTextMetrics(DC, T);
ReleaseDC(Memo1.Handle, DC);
H := Memo1.Height div T.tmAscent;
if Memo1.Lines.Count - H < 0 then
ScrollBar1.Max := 0
else
ScrollBar1.Max := Memo1.Lines.Count - H;
ScrollBar1.LargeChange := H - 1;
Label1.Caption := IntToStr(H);
end;
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
SendMessage(Memo1.Handle, EM_LINESCROLL, 0,
TScrollBar(Sender).Position -
SendMessage(Memo1.Handle, EM_GETFIRSTVISIBLELINE, 0, 0));
end;