Kitty Опубликовано 27 июня, 2016 Поделиться Опубликовано 27 июня, 2016 В С++ Builder XE7 работает такой код: const System::UnicodeString sText = L"CA"; TListViewItem * item = ListView1->Items->Add(); item->Text = L"Основной текст"; item->Detail = L"Детальный текст" item->BitmapRef = Image1->Bitmap; //картинка item->Data[sText] = TValue::From<UnicodeString>(L"Это текст справа"); //<- В Берлине не отображается При переносе этого кода в Берлин не отображается справа значение item->Data[sText] в ListView. Как это исправить? Спасибо. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 27 июня, 2016 Модераторы Поделиться Опубликовано 27 июня, 2016 а можно посмотреть на отрисовку этого текста? Kitty 1 Цитата Ссылка на комментарий
0 Kitty Опубликовано 27 июня, 2016 Автор Поделиться Опубликовано 27 июня, 2016 Не совсем понимаю о чем речь. В предыдущей версии я вижу текст "Это текст справа", в Берлине нет. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 27 июня, 2016 Модераторы Поделиться Опубликовано 27 июня, 2016 8 минут назад, Kitty сказал: Не совсем понимаю о чем речь. В предыдущей версии я вижу текст "Это текст справа", в Берлине нет. речь идёт о том, что вы создаете "кастомный контрол", если это так, то вы его должны отрисовать вручную в событии OnUpdateObjects Цитата Ссылка на комментарий
0 Kitty Опубликовано 28 июня, 2016 Автор Поделиться Опубликовано 28 июня, 2016 Это делает код из стандартных примеров RAD XE7. Только вот в Берлине ничего не отображается. void __fastcall TMainForm::ListView1UpdatingObjects(const TObject *Sender, const TListViewItem *AItem, bool &AHandled) { TListItemText * LCaption = reinterpret_cast<TListItemText*>((const_cast<TListViewItem*>(AItem))->Objects->FindObject(sText)); if (LCaption == NULL) { LCaption = new TListItemText((TListItem*)AItem); LCaption->Name = sText; LCaption->Align = TListItemAlign::Trailing; LCaption->VertAlign = TListItemAlign::Trailing; LCaption->PlaceOffset->X = 15; LCaption->PlaceOffset->Y = 12; LCaption->TextAlign = TTextAlign::Center; LCaption->Trimming = TTextTrimming::Character; LCaption->IsDetailText = True; LCaption->Width = 90; LCaption->Height = 45; } } Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 29 июня, 2016 Модераторы Поделиться Опубликовано 29 июня, 2016 скорей всего FindObject(sText) deprecated, попробуйте использовать FindDrawable(sText) Kitty 1 Цитата Ссылка на комментарий
0 Kitty Опубликовано 29 июня, 2016 Автор Поделиться Опубликовано 29 июня, 2016 Не помогло. Упорно нет текста справа. Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 29 июня, 2016 Модераторы Поделиться Опубликовано 29 июня, 2016 А вы после заполнения LV вызвали LV.Resize? Kitty 1 Цитата Ссылка на комментарий
0 Kitty Опубликовано 29 июня, 2016 Автор Поделиться Опубликовано 29 июня, 2016 Цитата А вы после заполнения LV вызвали LV.Resize? Не помогло... Цитата Ссылка на комментарий
0 krapotkin Опубликовано 30 июня, 2016 Поделиться Опубликовано 30 июня, 2016 я еще раз положу рабочий проект для Delphi Berlin. там есть отличия от общепринятого метода ListViewTestBerlin.7z Kitty и Евгений Корепов 2 Цитата Ссылка на комментарий
0 Евгений Корепов Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 В 30.06.2016 в 12:57, krapotkin сказал: я еще раз положу рабочий проект для Delphi Berlin. там есть отличия от общепринятого метода ListViewTestBerlin.7z Отличный пример, спасибо! А UListItemElements это просто праздник какой то, даже не представлял что так можно. Не подскажете источник информации по TListItemDrawable, TListViewItem.Adapter и Objects.FindObjectT? В справке эмбаркадеры информация разнится от "Embarcadero Technologies does not currently have any additional information" до "Triggers the OnResetView event, passes the specified list item to its event handler, and calls DoResetView." что не особо раскрывает тему. Цитата Ссылка на комментарий
0 krapotkin Опубликовано 27 августа, 2016 Поделиться Опубликовано 27 августа, 2016 там исходники довольно простые. а исходная идея тут но правильнее будет сделать фреймворк что-то типа relative layout https://developer.android.com/guide/topics/ui/layout/relative.html но там серьезно надо думать, а рук не хватает ))) Евгений Корепов 1 Цитата Ссылка на комментарий
Вопрос
Kitty
В С++ Builder XE7 работает такой код:
При переносе этого кода в Берлин не отображается справа значение item->Data[sText] в ListView. Как это исправить?
Спасибо.
Ссылка на комментарий
11 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.