Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

Перемещение по картинкам   Найти похожие ветки 

 
switch   (2008-03-02 19:07) [0]

На форме есть несколько миникартинок, при нажатии на каждую срабатывает определенная процедура.
procedure TgalForm.Image1Click(Sender: TObject);
begin
 ...
end;

procedure TgalForm.Image2Click(Sender: TObject);
begin
...
end;
Добавила на форму две кнопки Next, Prev.
Можно ли сделать чтобы при нажатии на эти кнопки присходило перемещение по изображениям, то есть перемещение по процедурам?


 
{RASkov} ©   (2008-03-02 19:15) [1]

> [0] switch   (02.03.08 19:07)

Ты что-то напутала...
Попробуй вот такой вариант:
Сделать общий обработчик OnClick внутри которого "картинку" определять по Sender"у.
procedure TgalForm.AllImageClick(Sender: TObject);
begin
 ...TImage(Sender)...
end;

Сами "картинки" помести в список...
ListImage: TStringList; //в Object храни ссылки на Image"ы
Ну и вызов по кнопкам будет нечто так:
procedure TgalForm.ButtonNextClick(Sender: TObject);
begin
...
 Inc(CurrentImage);
 AllImageClick(TImage(ListImage.Object[Current]);
end;


 
{RASkov} ©   (2008-03-02 19:17) [2]

> ListImage: TStringList; //в Object храни ссылки на Image"ы

А в строках можно хранить описание картинки....
Как вариант, можно просто TList... еще лучше TObjectList из Contnrs.pas..... ну или array...


 
switch   (2008-03-02 20:02) [3]

А если все процедуры разные? Забить их в
procedure TgalForm.AllImageClick(Sender: TObject);
при помощи case?


 
{RASkov} ©   (2008-03-02 20:20) [4]

> [3] switch   (02.03.08 20:02)

Что значит разные? Может и разные.... тогда нет смысла в общем обработчике....
Тогда обработчик кнопки Next, например, будет так:
procedure TgalForm.ButtonNextClick(Sender: TObject);
begin
...
Inc(CurrentImage);
TImage(ListImage.Object[CurrentImage]).OnClick(ListImage.Object[CurrentImage]);
end;


 
switch   (2008-03-02 20:39) [5]


> Что значит разные?

В  смысле нажатие на каждой кнопке приводит к разным действиям.


> Inc(CurrentImage); TImage(ListImage.Object[CurrentImage]).
> OnClick(ListImage.Object[CurrentImage]);

А вот этот вариант мне подходит -спасибо!!!


 
switch   (2008-03-02 21:02) [6]

ListImage
А как создать этот список?
Просто никогда не работала с объектами класса TImage...:(


 
Германн ©   (2008-03-02 21:08) [7]


> switch   (02.03.08 21:02) [6]
>
> ListImage
> А как создать этот список?

ListImage:=TStringList.Create;
ListImage.AddObject("This is the FirstImage",Image1);



Страницы: 1 вся ветка

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
2-1204179765
Layner
2008-02-28 09:22
2008.03.30
Как идентифицировать TTreeNode в TTreeView


3-1194513654
dolmat
2007-11-08 12:20
2008.03.30
Отключить пользователей от базы


2-1204460411
KJ13
2008-03-02 15:20
2008.03.30
Открытие файла


2-1203607430
Павел
2008-02-21 18:23
2008.03.30
Нужна помощь!!!!!! Как конвертировать xls-файл в dbf файл?


15-1203415250
Ega23
2008-02-19 13:00
2008.03.30
Что почитать про безопасность?