Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизПомогите с TImage Найти похожие ветки
← →
super_alex (2003-02-07 12:05) [0]Столкнулся с такой проблемой: если панели или имаджу задать какой-нить align (или просто без align), то потом (в коде) его размеры не хотят меняться. Вернее фактически размеры изменяются, то есть делаются такими как я задаю, но отображаются те которые были до компиляции???
Допустим собираю форму, кидаю на неё имадж (100х100), в коде (допустим при нажатии на кнопку) изменяю размер допустим 200х200 и рисую просто линию на нем. При отображении имадж остался прежним (100х100), а линия нарисовалась, но только та её часть которая вошла в квадрат 100х100???
Помогите кто знает - очень надо...
← →
super_alex (2003-02-07 12:18) [1]Что никто тоже не знает?
← →
icWasya (2003-02-07 12:22) [2]скорее всего происходит следующее:
при первом обращении к Image.Canvas делается проверка наличия у Image объекта Picture. Если Picture = Nil то создаётся TBitmap c размерами равными размеру Image. И затем всё рисуется на этом Bitmap. Если после этого Image изменяет размер, то у этого Bitmap размер не меняется.
для устранения эффекта сделай так
1)
procedure TForm1.FormCreate (Sender:TObject);
begin
...
// гарантировано создадим Picture.Bitmap;
Image1.Canvas.Pixels[0,0]:=clWhite;
...
end;
2)
procedure TForm1.OnResize(Sender:TObject);
begin
Image1.Picture.Bitmap.Width:=Image1.Width;
Image1.Picture.Bitmap.Height:=Image1.Height;
end;
← →
Smithson (2003-02-07 12:26) [3]Именно так. А обошел этот секс просто рисование на Canvas формы.
← →
super_alex (2003-02-07 12:31) [4]Всем спасибо - разобрался!!!
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c