Перейти к содержанию
Fire Monkey от А до Я
  • 0

Вывод личных сообщений


Kapa

Вопрос

Рекомендуемые сообщения

  • 0
2 часа назад, Равиль Зарипов (ZuBy) сказал:

Вы чат пишете?

Да. Точнее хочу вывести диалоги из вк, и соответственно читать эти диалоги.

Изменено пользователем Kapa
Ссылка на комментарий
  • 0
  • Модераторы

Оптимального варианта нет, можно сделать на ЛистВью, но сложно. Можно на ЛистБоксе, легко, но будет ужасно лагать. Прочие варианты со СкролБоксом тоже будут лагать.

Ссылка на комментарий
  • 1
В 12.05.2018 в 17:02, Kapa сказал:

 Пишу первое приложение под андроид, 

Мы с вами в одном окопе. Путь к ListView лежит через ListBox. т.e надо помучится с listbox что бы понять что без ListView не обойтись. 

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

lw01.png.5f3dac60ea9c2c5299f444e23b6633fa.png

Создайте в ListView в режиме dinamicAppearance свои поля со своими именами, Далее ПКМ по listView выбираете TogleDesignMode там двигаете свои добавленные поля как вам удобно. 

Далее смотрите код. Чем смог тем помог!

//Добавить итем в список
void __fastcall TTabbedForm::add_item(int num_ico,UnicodeString *fname, UnicodeString *ext_name, unsigned int color)
    {
    TListItemText  *ext;
    TListItemImage  *ico;

    TListViewItem* item = ListView1->Items->Add();
    item->Height = 30;

    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("extenssion_text"));
    if (ext)
        {
        ext->PlaceOffset->X = ListView1->Width -  60;
        ext->Text = *ext_name;
        ext->TextColor = color;
        }
    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("file_name_text"));
    if (ext)
        {
        ext->Text = *fname;
        ext->TextColor = color;
        if (num_ico==0)    ext->Width = ListView1->Width - 10;   //длина до расширения.
        else            ext->Width = ListView1->Width - 90;   //длина до расширения.

        }
    ico = dynamic_cast<TListItemImage*>(item->Objects->FindDrawable("Icon_Image"));
    if (ico)
        {
        switch (num_ico)
            {
            case 0: ico->Bitmap = Image_64x64_ret->Bitmap;         break;
            case 1: ico->Bitmap = Image_64x64_folder->Bitmap;     break;
            case 2:    ico->Bitmap = Image_48x48_spk->Bitmap;         break;
            case 3: ico->Bitmap = Image_64x64_play->Bitmap;     break;
            case 4: ico->Bitmap = Image_64x64_pause->Bitmap;     break;
            default:  break;
            }
        }
    }

 

Изменено пользователем Sergiy_83
Ссылка на комментарий
  • 0
В 14.05.2018 в 00:41, Sergiy_83 сказал:

Мы с вами в одном окопе. Путь к ListView лежит через ListBox. т.e надо помучится с listbox что бы понять что без ListView не обойтись. 

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

lw01.png.5f3dac60ea9c2c5299f444e23b6633fa.png

Создайте в ListView в режиме dinamicAppearance свои поля со своими именами, Далее ПКМ по listView выбираете TogleDesignMode там двигаете свои добавленные поля как вам удобно. 

Далее смотрите код. Чем смог тем помог!


//Добавить итем в список
void __fastcall TTabbedForm::add_item(int num_ico,UnicodeString *fname, UnicodeString *ext_name, unsigned int color)
    {
    TListItemText  *ext;
    TListItemImage  *ico;

    TListViewItem* item = ListView1->Items->Add();
    item->Height = 30;

    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("extenssion_text"));
    if (ext)
        {
        ext->PlaceOffset->X = ListView1->Width -  60;
        ext->Text = *ext_name;
        ext->TextColor = color;
        }
    ext = dynamic_cast<TListItemText*>(item->Objects->FindDrawable("file_name_text"));
    if (ext)
        {
        ext->Text = *fname;
        ext->TextColor = color;
        if (num_ico==0)    ext->Width = ListView1->Width - 10;   //длина до расширения.
        else            ext->Width = ListView1->Width - 90;   //длина до расширения.

        }
    ico = dynamic_cast<TListItemImage*>(item->Objects->FindDrawable("Icon_Image"));
    if (ico)
        {
        switch (num_ico)
            {
            case 0: ico->Bitmap = Image_64x64_ret->Bitmap;         break;
            case 1: ico->Bitmap = Image_64x64_folder->Bitmap;     break;
            case 2:    ico->Bitmap = Image_48x48_spk->Bitmap;         break;
            case 3: ico->Bitmap = Image_64x64_play->Bitmap;     break;
            case 4: ico->Bitmap = Image_64x64_pause->Bitmap;     break;
            default:  break;
            }
        }
    }

 

Да, думаю это то что мне нужно, но я так и не разобрался как его заполнять.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...