Перейти к содержимому

Здравствуйте, гость ( Вход | Регистрация )



  • Авторизуйтесь для ответа в теме
Кнопки в Delphi Сообщений в теме: 7

#1
Отправлено 26 Декабрь 2006 - 19:49

Jura

    Абитуриент

  • Пользователи
  • Pip
  • 20 сообщений
Я просмотрел пару форумов, но не нашёл информации на счёт такого вопроса: Я работаю в Borland Delphi 7. Допустим, есть кнопка с изображением (за него отвечает параметр Glyph). Как можно его изменить в ходе работы самой программы? Дело в том, что Glyph имеет тип TBitmap, то есть класс, и непонятно, что ему присваивать.

#2
Отправлено 27 Декабрь 2006 - 00:44

gR4mm

    Абитуриент

  • Пользователи
  • Pip
  • 14 сообщений
type
  TFrm = class(TForm)
    B: TBitBtn;
    OD: TOpenDialog;
    procedure BClick(Sender: TObject);
..............

procedure TFrm.BClick(Sender: TObject);
 var BM: TBitmap;
begin
 if OD.Execute then begin
   try
    BM:= TBitmap.Create;
    BM.LoadFromFile(OD.FileName);
    B.Glyph := BM;
   finally
    BM.Free;
   end;
 end;
end;


#3
Отправлено 27 Декабрь 2006 - 12:03

Jura

    Абитуриент

  • Пользователи
  • Pip
  • 20 сообщений
Тоже самое, только без окна загрузки изображения, что мне и надо было:
type
 TFrm = class(TForm)
   B: TBitBtn;
   procedure BClick(Sender: TObject);
..............

procedure TFrm.BClick(Sender: TObject);
var BM: TBitmap;
begin
  try
   BM:= TBitmap.Create;
   BM.LoadFromFile(FileName);
   B.Glyph := BM;
  finally
   BM.Free;
  end;
end;

Спасибо gR4mm.

#4
Отправлено 27 Декабрь 2006 - 23:53

Jura

    Абитуриент

  • Пользователи
  • Pip
  • 20 сообщений
Нет, мой вариант не работает, так как надо загрузить в екзешник предварительно нужную картинку. Хотелось бы, чтобы программа меняла иконку кнопки без открытия диалога. Ладно, сам придумал. Создал кнопку с нужным изображением, сделал кнопку невидимой, и её параметр Glyph присвоил нужной кнопке в нужный момент. -) Туплю.

#5
Отправлено 29 Декабрь 2006 - 04:20

OpenMind

    Абитуриент

  • Пользователи
  • Pip
  • 27 сообщений
  • Пол:НЛО
  • Район:Москва
Используй TImageList

#6
Отправлено 29 Декабрь 2006 - 04:28

OpenMind

    Абитуриент

  • Пользователи
  • Pip
  • 27 сообщений
  • Пол:НЛО
  • Район:Москва
Я в Borland C++ Builder работаю, но в Delphi компоненты те же. В TImageList можно загружать множество изображений как при проектировании приложения (или отдельной формы), так и во время выполнения. Экпорт изображений из TImageList также довольно прост. Экспорт и импорт осуществляются посредством класса TBitmap. Одним словом, то, о чем ты спрашивал. Примеры использования есть в справочных системах как C++ Builderа, так и Delphi.

#7
Отправлено 29 Декабрь 2006 - 17:55

Arhar

    Активный участник

  • Пользователи
  • PipPip
  • 105 сообщений
видели бы вы его программу...монстр)
вот может помочь
http://www.addzone.r...va5/Index5.html
http://read.excode.ru/arttopic162.html

#8
Отправлено 30 Декабрь 2006 - 00:16

Jura

    Абитуриент

  • Пользователи
  • Pip
  • 20 сообщений
О, спасибо OpenMind. Спасибо Arhar.




Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных