85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
1

Как получить доступ к объекту расположенному на ListBoxItem?

24.07.2014, 21:37. Показов 1034. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как получить доступ к объекту расположенном на ListBoxItem'е? Т.е. например, у меня динамически создаются айтемы с картинкой расположенных на них. Как мне получить картинку при нажатии на определённый айтем?

Добавлено через 1 час 42 минуты
C++
1
2
3
4
5
6
7
    TImage *a = dynamic_cast<TImage *>(ListBoxItem1->FindComponent("Image1"));
    if (a) {
        Image2->Bitmap->Assign(a->Bitmap);
    }
    else {
        ShowMessage("no");
    }
Вот, сделал, что то похожее, но не работает. Битый час бьюсь над маленькой проблемой

Добавлено через 28 минут
C++
1
2
3
4
5
6
7
8
    TImage * a = (TImage * )(Form1->  FindComponent("Image1"));
    if (!a) {
        ShowMessage("A");
    }
    else {
        Image2->Bitmap->Assign(a->Bitmap);
    }
    delete a;
Таким образом нашёл, но это как то не интересно

Добавлено через 11 минут
Разобрался. Всё дело походу в наследовании.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    TImage * b = new TImage(ListBoxItem1);
    b->Parent = ListBoxItem1;
    b->Name = "a";
    b->Bitmap->LoadFromFile("D://Важно//1.jpg");
 
    TImage * a = (TImage*)(ListBoxItem1->FindComponent("a"));
    if (a) {
 
        Image2->Bitmap->Assign(a->Bitmap);
    }
    else {
        ShowMessage("no-no-no-noooo");
    }
    delete a;
    delete b;
Если кто то скажет в чём точно была беда, буду рад.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.07.2014, 21:37
Ответы с готовыми решениями:

Как получить доступ к объекту из сцены?
Прикрепил скрипт Click к префабу. Для работы скрипта нужен объект из сцены со скриптом Score, но...

Как получить доступ к объекту другого класса
Здравствуйте друзья. Прошу помощи по вопросу В главном viewController cоздаю объект Label и...

Как получить доступ к объекту класса из другой формы?
В файле создан класс с одним полем (это для начала). Есть две формы. Создаю в одной из них объект...

V8. как получить доступ к объекту через его тип?
Платформа - 8, конфа - гибрид под упп, но это не важно). Вобщем, мне необходимо через пару...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
24.07.2014, 21:37 2
Цитата Сообщение от DeadHipo Посмотреть сообщение
у меня динамически создаются айтемы с картинкой расположенных на них
Как именно создаются эти айтемы? Код создания где?
0
85 / 85 / 33
Регистрация: 21.09.2013
Сообщений: 339
24.07.2014, 21:50  [ТС] 3
Цитата Сообщение от UI Посмотреть сообщение
Как именно создаются эти айтемы? Код создания где?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
a::a() {
    ListBoxItem = new TListBoxItem(Form1->ListBox1);
    ListBoxItem->Parent = Form1->ListBox1;
    ListBoxItem->Selectable = false;
 
    Layout = new TLayout(ListBoxItem);
    Layout->Parent = ListBoxItem;
 
    Image = new TImage(Layout);
    Image->Parent = Layout;
 
    Button = new TButton(Layout);
    Button->Parent = Layout;
 
    Memo = new TMemo(Layout);
    Memo->Parent = Layout;
 
    Timer = new TTimer(Layout);
    Timer->Parent = Layout;
 
    Timer->OnTimer = timer_on;
    Timer->Interval = 10;
    Timer->Enabled = false;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class a
{
    private:
        float iWidth;
        float iHeight;
 
        int item_w;
        int item_h;
        int image_w;
        int image_h;
        int button_w;
        int button_h;
        int memo_w;
        int memo_h;
        int position_x;
        int position_y;
 
        TListBoxItem * ListBoxItem;
        TLayout * Layout;
        TImage * Image;
        TButton * Button;
        TMemo * Memo;
        TTimer * Timer;
 
        TColorButton * ColorButton;
        TLabel * Label;
 
    public:
        a();
        void set_size(float Width, float Height);
        void set_item_size(int item_w, int item_h);
        void set_image_size(int image_w, int image_h);
        void set_button_size(int button_w, int button_h);
        void set_memo_size(int memo_w, int memo_h);
        void set_position(int X, int Y);
        void math_comp();
        void set_info(TBitmap * photo, UnicodeString info_text);
        void open_info(int Index);
        void __fastcall timer_on(TObject *Sender);
};
То, что я писал выше из отдельного проекта, дабы не засорять всё. И то, что я в итоге выяснил будет у меня работать. Можно сказать всё оккей:)
0
24.07.2014, 21:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2014, 21:50
Помогаю со студенческими работами здесь

Как получить доступ к объекту, созданному в другой форме?
Я создал два окна, MainForm и FormInfo. В классе MainForm создаётся объект типа WindowsMediaPlayer....

Как получить доступ к объекту Dom на Beforepageload в Xpage?
Как получить доступ к объекту DOM на BeforePageLoad в Xpage для программного изменения содержания...

Как получить глобальный доступ к динамически созданному объекту
вообщем кнопка tb1 определяется в button1_Click и следовательно она локальная,и недоступна в её...

Как получить доступ к трансформациям из кода и как их вообще добавить к объекту?
&lt;uiElements:ExtendedAnimatedImage x:Name=&quot;_image&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru