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

Вниз

Как лудше рисовать на компоненте.   Найти похожие ветки 

 
Nikfel ©   (2007-06-28 17:37) [0]

Почему при рисовании происходит искажение. Проверьте вот этот код. Искажение не происходит если вместо Label1Paint использовать Label1Click. Может стоит рисовать по другому чтобы при свертывании изображение сохранялось. Заранее спасибо.
const colort:array[1..15] of tcolor=
($00FFFDF9,$00FFFCF6,$00FFFBF3,
$00FFFAF0,$00FFF9ED,$00FFF8EA,$00FFF7E7,
$00FFF6E4,$00FFF5E1,$00FFF4DE,$00FFF3DB,
$00FFF2D8,$00FFF1D5,$00FFF0D2,$00FFEFCF);

procedure TForm1.Label1Paint(Sender: PControl; DC: HDC);
var q,w:integer;
begin
w:=1;
For q:=1 to 15 do begin
label1.Canvas.pen.Color:=colort[q];
label1.Canvas.MoveTo(1,w);
label1.Canvas.LineTo(label1.Width-1,w);
w:=w+1;
label1.Canvas.MoveTo(1,w);
label1.Canvas.LineTo(label1.Width-1,w);
w:=w+1;
end;
end;


 
mdw ©   (2007-06-28 20:15) [1]

Попробовал. Все нормально рисуется. В чем проявляются искажения? Кстати, для рисования обычно используется PaintBox.

P.S. *лудше - лучше


 
Nikfel ©   (2007-06-28 20:39) [2]

Рисуется нормально, но задний план становится белым и в углу черным (только в тех местах где ничего не рисовал). Наверно надо полностью закрашивать объект. Такое искажение наблюдается только при использовании Label1Paint, а при нажатии кнопки закрашивает нормально.


 
SPeller_work   (2007-06-29 10:26) [3]

Наверное просто надо рисовать в DC, который передан параметром.


 
mdw ©   (2007-06-29 12:54) [4]


> Наверно надо полностью закрашивать объект.

А как вы хотели? В представленном коде отрисовывается прямоугольник
(1,1, Width-1, 15). Все остальное пространство (0-1, 15-Height и т.д), естественно, тоже нужно как то заполнять. Вызовите хотя бы FillRect перед отрисовкой.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
15-1198321867
Kostafey
2007-12-22 14:11
2008.02.03
С днем рождения ! 22 декабря


2-1200213505
VAD*Anti Gopn!k
2008-01-13 11:38
2008.02.03
Сообщение отключения модема(от инета например)


6-1176297172
mm0
2007-04-11 17:12
2008.02.03
Помогите с отправкой sms


5-1166288613
Aleksandr
2006-12-16 20:03
2008.02.03
Создание свойства нового компонента


2-1199472258
Васька
2008-01-04 21:44
2008.02.03
Получить все элементы с контролла