Delphi-Help

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи Кнопка с графикой (BitBtn) Смена иконки BitBtn во время работы приложения

Смена иконки BitBtn во время работы приложения

Оцените материал
(0 голосов)

Смена иконки BitBtn во время работы приложения

Иконка компонента является инкапсулированным объектом, требующим для хранения изображения некоторый участок памяти. Следовательно, при замене иконки, память, связанная с первоначальной иконкой, должна возвратиться в кучу, а для новой иконки требуется новое распределение памяти. По правилам Delphi, этим должен заниматься метод "Assign". Ниже приведен код всей процедуры замены иконки.

    implementation
 
{$R *.DFM}
 
var n: integer;  // При инициализации программы данное значение будет равным нулю
 
procedure TForm1.Button1Click(Sender: TObject);
var Image: TBitmap;
begin // Изменение иконки в BitBtn1
 
Image:= TBitmap.Create;
if n < ImageList1.Count then
ImageList1.GetBitmap(n, Image);
{end if}
 
 
BitBtn1.Glyph.Assign(Image)   // Примечание: Для изменения свойств объекта используется метод Assign
 
 
inc(n,2); // В данный момент кнопка содержит две иконки!
if n > ImageList1.Count then
n:= 0;
{end if}
Image.Free;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin // добавляем новую иконку кнопки в список ImageList1
if OpenDialog1.Execute then
ImageList1.FileLoad(rtBitMap,OpenDialog1.FileName,clBtnFace);
label1.Caption:= 'Количество иконок = ' + IntToStr(ImageList1.Count);
end;  
Другие материалы в этой категории: « Управляющие кнопки Button и BitBtn

Авторизация



Счетчики