Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2011, 20:11   #1
yachsmit
 
Регистрация: 27.01.2011
Сообщений: 4
По умолчанию Вывод массива изображений TBitMap на форму для дальнейшей работы

Добрый день! Начал изучать Delphi и столкнулся с таким вопросом (код)

Код:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  imgmass: array [0..1] of TBitmap;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
    imgmass[0]:=TBitmap.Create;
    imgmass[0].LoadFromFile('C:\kartinka.bmp');
    Canvas.Draw(0,0,imgmass[0]);
end;

end.
данная программа выводит определенную картинку из массива на экран, но понять как дальше ее обрабатывать (например, присвоить ей imgmassClick) я не могу. Помогите пожалуйста. Как заставить это изображение "нажиматься"?

Последний раз редактировалось Stilet; 27.01.2011 в 20:19.
yachsmit вне форума Ответить с цитированием
Старый 27.01.2011, 20:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Image1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  imgmass: array [0..1] of TBitmap;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
    imgmass[0]:=TBitmap.Create;
    imgmass[0].OnClick:=Image1Click;
    imgmass[0].LoadFromFile('C:\kartinka.bmp');
   
    Canvas.Draw(0,0,imgmass[0]);
end;

procedure TForm1.Image1Click(Sender: TObject);
begin
 ShowMessage('Кликанули по картинке');
end;

end.
Ферштейн?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.01.2011, 20:25   #3
yachsmit
 
Регистрация: 27.01.2011
Сообщений: 4
По умолчанию

Нет, пишет ошибку [Error] Unit1.pas(32): Undeclared identifier: 'OnClick'

Последний раз редактировалось yachsmit; 27.01.2011 в 20:32.
yachsmit вне форума Ответить с цитированием
Старый 27.01.2011, 20:44   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

TBitmap не имеет обработчика событий OnClick. Нужно с TImage работать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.01.2011, 20:45   #5
InternetStranger
php / delphi
Форумчанин
 
Аватар для InternetStranger
 
Регистрация: 10.06.2007
Сообщений: 175
По умолчанию

Событие "Кликабельности" вначале нужно создать. Дабл-кликом по Image1 (который загодя нужно положить на форму). Среда сама предложит вписать код для обработчика onClick.
ps: Загляните после этого в закладку Events Объект-инспектора.
G.Azamat { Web Development / Computer simulation }
Начинающий программист думает, что в килобайте 1000 байтов, а законченный уверен, что в километре 1024 метра.
InternetStranger вне форума Ответить с цитированием
Старый 28.01.2011, 10:23   #6
8adim
Пользователь
 
Регистрация: 25.01.2011
Сообщений: 12
По умолчанию

Если при создании компонента-TImage присваивать её еще имя и событие OnClick, то тогда вообще всё просто получается.
Например, проще всего можно обращаться вот так
(findComponent(sCompName) as TImage)
8adim вне форума Ответить с цитированием
Старый 28.01.2011, 11:56   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
TBitmap не имеет обработчика событий OnClick. Нужно с TImage работать
Ой... Точно... Это я затупил
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод текста на TBitmap при включенном ClearType XerSon Общие вопросы Delphi 2 05.08.2017 21:50
вывод изображений dimonnnn PHP 3 14.08.2010 10:42
Для облегчения работы с TFS - приложение для работы над дефектами и задачами Аякс Софт 1 18.03.2009 11:43