C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Image
Vital_K
Отправлено: 15.06.2006, 09:49


Ученик-кочегар

Группа: Участник
Сообщений: 27



Здравствуйте
подскажите плиз как очистить image (с загруженным рисунком)
Doga
Отправлено: 15.06.2006, 17:49


Мастер участка

Группа: Участник
Сообщений: 575



Width = 0;
Werti
Отправлено: 15.06.2006, 17:52


Дежурный стрелочник

Группа: Участник
Сообщений: 30



QUOTE (Doga @ 15/06/2006, 17:49)
Width = 0;

Сузил картинку?)
Doga
Отправлено: 15.06.2006, 18:47


Мастер участка

Группа: Участник
Сообщений: 575



Попробуйте, хотя бы smile.gif
Gedeon
Отправлено: 16.06.2006, 08:18


Ветеран

Группа: Модератор
Сообщений: 1742



NULL присвоить св-ву Picture.
Konstantine
Отправлено: 16.06.2006, 10:09


Мастер участка

Группа: Модератор
Сообщений: 545



а он удалит его при этом?
в смысле память освободит?
Gedeon
Отправлено: 16.06.2006, 12:30


Ветеран

Группа: Модератор
Сообщений: 1742



да

Смотрим обьявление
CODE
TImage = class(TGraphicControl)
...
property Picture: TPicture read FPicture write SetPicture;
...


функция
CODE
procedure TImage.SetPicture(Value: TPicture);
begin
 FPicture.Assign(Value);
end;

ведет сюда
CODE

procedure TPicture.Assign(Source: TPersistent);
begin
 if Source = nil then
   SetGraphic(nil)
 else if Source is TPicture then
   SetGraphic(TPicture(Source).Graphic)
 else if Source is TGraphic then
   SetGraphic(TGraphic(Source))
 else
   inherited Assign(Source);
end;

и вот при NULL
CODE

procedure TPicture.SetGraphic(Value: TGraphic);
var
 NewGraphic: TGraphic;
begin
 NewGraphic := nil;
 if Value <> nil then
 begin
   NewGraphic := TGraphicClass(Value.ClassType).Create;
   NewGraphic.Assign(Value);
   NewGraphic.OnChange := Changed;
   NewGraphic.OnProgress := Progress;
 end;
 try
   FGraphic.Free;
   FGraphic := NewGraphic;
   Changed(Self);
 except
   NewGraphic.Free;
   raise;
 end;
end;

Konstantine
Отправлено: 16.06.2006, 13:14


Мастер участка

Группа: Модератор
Сообщений: 545



а, ну да smile.gif
даже сам не знал, пасиб

Вернуться в Вопросы программирования в C++Builder