Форум: "Начинающим";
Текущий архив: 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