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

Вниз

Правильная отрисовка канвы при скролинге   Найти похожие ветки 

 
off   (2004-09-08 13:27) [0]

Здравствуйте, мастера. На форме лежит панель, на панели лежит пэйнтбокс (такая вот порнография и беспредел). При этом размер панели больше размера формы отчего на ней появляются полосы прокрутки. С левого края в пэйнтбокс выводятся цифирки в столбец (canvas.textout в ПэйнтбоксПэйнт) при этом они должны там оставаться независимо от кого как и куда мы прокручиваем. Причем когда пользуешься стрелками на горизонтальной полосе прокрутки - отрисовка происходит правилно. А вот когда таскаешь за ползунок - остается след. Выходит пэйнтбокс не обновляется. Как это побороть (т.е. как обработать прокрутку ведь у этого компонента нет события ОнАфтаСкрол)?


 
off   (2004-09-09 06:12) [1]

Что вы тоже не знаете как?! Жаль :(


 
KSergey ©   (2004-09-09 09:40) [2]

а) код
б) стирать надо перед рисованием


 
off   (2004-09-09 12:08) [3]

procedure TFStart.PB1Paint(Sender: TObject);
var I: Integer;
begin
for I := 0 to 31 do
begin
PB1.Canvas.TextOut(- PB1.ClientOrigin.X + 6,(I+1)*40-26,IntToStr(I));
end;
Refresh(Sender);
end;


 
OFF   (2004-09-10 06:28) [4]

Код я уже выложил, а вот насчет того что "стирать надо перед рисованием" это по моему никчему т.к. дело не в том что не стирается, а в том, что не обновляется. Т.е. когда мы используем полосу прокрутки, то событие не обрабатывается.


 
TUser ©   (2004-09-10 09:56) [5]

Обработай wm_vscroll и вызови там перерисовку. А стирать вс-таки придется.


 
KSergey ©   (2004-09-10 10:13) [6]

Refresh(Sender);

А вот это издевательство.
Отрисовали, и тут же опять просим перерисоваться...



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
14-1094744277
X9
2004-09-09 19:37
2004.09.26
Справка по Opera


3-1093591590
Chainik
2004-08-27 11:26
2004.09.26
Как реализовать запрос?


14-1094375957
Igorekss
2004-09-05 13:19
2004.09.26
Слежение за файлами


1-1094751920
GSS
2004-09-09 21:45
2004.09.26
TPanel


4-1092140092
serg128
2004-08-10 16:14
2004.09.26
Как программно выключить аппаратное ускорение экрана?