Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скроллинг [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо