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

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

Как сделать, чтобы TImage перестал отображать что-либо? [D7, Win95/98, Win2k, WinXP]


Barvetal ©   (2006-07-03 15:21:00) 

Всем привет!

Есть программа, содержащая компонент TImage на главной форме. Этот компонент в зависимости от ситуации показывает рисунки, загружаемые при помощи LoadFromFile.

Так вот. Есть ситуации, когда нужно, чтобы этот компонент ничего не показывал. Но я не знаю, как корректно стереть существующее изображение!!! У объекта Image нету методов по типу Clear(). Есть только Empty() у TImage.Picture.Graphic, но оно ReadOnly.

Что делать? Как стереть существующее изображение в TImage???

Всем заранее спасибо!


Zeqfreed   (2006-07-04 14:03:00) [1]

Visible := false;


Мефисто   (2006-07-04 09:52:00) [2]

boalse  ©   (04.07.06 08:00) [7]

Не... Нето.


boalse   (2006-07-04 08:00:00) [3]

fillRect


Джо   (2006-07-04 03:59:00) [4]

> [5] Германн ©   (04.07.06 03:57)
> Борис уже давно запостил смайлик. :-)

Ну, это я на всякий случай показал Барветалю, где именно искать приятное удивление :)


Германн   (2006-07-04 03:57:00) [5]


> Джо ©   (04.07.06 03:47) [4]
Будешь приятно удивлён :-)

Борис уже давно запостил смайлик. :-)


Джо   (2006-07-04 03:47:00) [6]

> [2] Barvetal   (03.07.06 15:56)
> Image.Picture:=nil;
> Ага...
> И дальше по коду:
> PhotoImage.Picture.LoadFromFile(sPhotoFile)
> которе вызовет AccessViolation.

Посмотри исходники метода  TPicture.Assign (к вызову которого сводится TImage.Picture := nil) и TPicture.LoadFromFile. Будешь приятно удивлён :-)


MBo   (2006-07-03 16:01:00) [7]

>которе вызовет AccessViolation.
А ты попробуй ;)


Barvetal   (2006-07-03 15:56:00) [8]

Image.Picture:=nil;
Ага...
И дальше по коду:
PhotoImage.Picture.LoadFromFile(sPhotoFile)
которе вызовет AccessViolation.

Я вот думал сделать
Image.Picture.Graphic := nil.
Как вы думаете?

Или лучше сделать
Image.Picture:=nil;
а дальше по коду:
PhotoImage.Picture := TPicture.Create(Self);
PhotoImage.Picture.LoadFromFile(sPhotoFile)


Но в этом случае может возникнуть ситуация, когда программа будет расширяться, и кто-то забудет создать TImage.Picture.

Вообщем, подскажите, пожалуйста, самое корректное решене.


MBo   (2006-07-03 15:23:00) [9]

Image.Picture := nil


Наверх

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