Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.047 c
15-1203262710
xayam
2008-02-17 18:38
2008.03.30
Вопрос по javascript


6-1183656730
Тохер
2007-07-05 21:32
2008.03.30
Как приатачить файл в почту через Инди IdSMTP


2-1204611915
Sesh
2008-03-04 09:25
2008.03.30
Вопрос по отправке сообщения


15-1203304369
Slider007
2008-02-18 06:12
2008.03.30
С днем рождения ! 18 февраля 2008 понедельник


3-1194530578
-=Le][=-
2007-11-08 17:02
2008.03.30
Фильтр для получения списка значений.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский