- 0
Особенности TGrid в Delphi 10.1 Berlin (XE10)
-
Похожий контент
-
- 0 ответов
- 1 923 просмотра
-
- 7 ответов
- 4 082 просмотра
-
В Delphi XE10 перестал работать FMXBroadcastReceiver (Android). Что изменилось со времён XE7?
От Alexey Shumkin,
- 8 ответов
- 4 980 просмотров
-
- 1 ответ
- 2 941 просмотр
-
- 0 ответов
- 1 565 просмотров
-
- 41 ответ
- 13 781 просмотр
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
willi
При переходе на Delphi 10.1 Berlin (FMX) с XE8 возникает много "интересных" нюансов с TGrid:
1. У меня все(!) внутренние ячейки выводятся с отступом в 3px (я перерисовываю их в событии OnDrawColumnCell) от всех сторон - при этом внутри уже по умолчанию используется отсечка по области рисования (т.е. если задать большую область для, к примеру, FillRect - всё равно будет заполняться только с отступом 3px) - мое решение - локально создать
var L_Rects:TClipRects; и var L_Bounds:TRectF;
---------> L_Bounds:=Bounds;
L_Bounds.Inflate(3,3); // ! - компенсировать отступ
SetLength(L_Rects,1);
L_Rects[0]:=L_Bounds;
/// - далее
with aGrid do
try
Canvas.BeginScene(@L_Rects); // !!
..... рисуем на Canvas
finally Canvas.EndScene; SetLength(L_Rects,0);
end;
2. Из Published исчезло событие OnApplyStyleLookup - приходится вызывать его где-то при показе таблицы вручную...
3. Также исчезли события OnMouseUp и OnMousDown - похоже на прокол разработчиков - они есть в Public - их нужно прицеплять в коде выставляя их на свои методы формы (параметры методов такие же как и в XE8).
4. LiveBinding у меня не работает для полей с Blob - картинками - при вызове OnDrawColumnCell - для такого вида привязки параметр const Value: TValue или пустой, или (в зависимости от стиля столбца) содержит строку "(Object)" - как показать в таблице blob-поле - картинку в XE10 с помощью Livebinding я так и не понял...
5. Непонятно зачем нужно событие OnDrawColumnBackground - по-моему, оно никогда не срабатывает - совместимость со старыми версиями?
____________
Напишите, если кто-нибудь сталкивался с этими моментами и нашел какой-то другой ответ - хотелось бы использовать LiveBinding как в XE8 и ранних версиях...
15 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.