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

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

Вопрос по TImage... [D5, WinXP]


Rusty ©   (2004-10-20 22:01:00) 

Уважаемые, помогите!
Решил поработать с графикой, но тут же столкнулся со следующей проблемой:
на форме компонент TImage; изменение размера формы обрабатываю так:

procedure TForm1.FormResize(Sender: TObject);
begin
 Image1.Left:=0;
 Image1.Top:=0;
 Image1.Width:=ClientWidth;
 Image1.Height:=ClientHeight;
 Image.Canvas.FillRect(Rect 0,0,ClientWidth,ClientHeight));
end;

После запуска приложения пытаюсь увеличить размеры формы, но размеры компонента TImage не увеличиваются, т.е. на форме остается квадрат белого цвета прежнего размера. При уменьшении размера формы - как бы все нормально. С чем это связано? Как решить эту проблему?


WondeRu   (2004-10-21 15:14:00) [1]

Ozone ©   (21.10.04 15:02) [7]
это не баг, это фича!
уже с Делфи 5 известна эта особенность. Думаю есть веские причины у Борланда, чтобы эту "фичу" оставить


Ozone   (2004-10-21 15:02:00) [2]

WondeRu ©   (21.10.04 14:58) [6]

Да я не про то. Мне кажется если ты заговорил про Align, то нужно еще и упомянуть и о баге в сорцах, ИМХО.


WondeRu   (2004-10-21 14:58:00) [3]

Mihey_temporary ©   (20.10.04 22:44) [1]
ответ правильный. Зачем еще добавлять чего-то, а вот те 4 строчки не понравились ;-)


Ozone   (2004-10-21 14:49:00) [4]

WondeRu ©   (21.10.04 14:47) [4]

Ну дык, почему тогда отвечаешь на вопрос не полностью :)


WondeRu   (2004-10-21 14:47:00) [5]

Ozone ©   (21.10.04 14:41) [3]
это обычный глюк TImage
на vcl.ru в faq было
"Вопрос: При увеличении размера компонента TImage в RunTime пытаюсь рисоватьзаново на всем поле, но отображается только часть компонента (прежнегоразмера). В чем дело?
Ответ: Нужно при инициализации выполнить SetBounds(), с максимальными размерами."


Ozone   (2004-10-21 14:41:00) [6]

WondeRu ©   (21.10.04 14:30) [2]

А ты пробовал? У тебя при таком subj'евого эффекта не наблюдалось?


WondeRu   (2004-10-21 14:30:00) [7]

Rusty   (20.10.04 22:01)
Image1.Left:=0;
Image1.Top:=0;
Image1.Width:=ClientWidth;
Image1.Height:=ClientHeight;


а Align влом выставить в alClient?


Mihey_temporary   (2004-10-20 22:44:00) [8]

Добавь:


Image1.Picture.Bitmap.Width:=ClientWidth;
Image1.Picture.Bitmap.Height:=ClientHeight;


Недоработочка компонента, видимо.


Наверх

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