Форматирование ячеек TStringGridDelphi , Компоненты и Классы , TStringGrid и TDrawGridФорматирование ячеек TStringGrid
...то, что вы хотите, звучит очень мудрено, в моем примере вследствие плавающей точки я сделал правое выравнивание, и сетка у меня редактируемая, работающая прямо сейчас (хоть это и DrawGrid, но технология одна и та же). Вам нужно сделать пару вещей:
В вашем обработчике OnDrawCell создайте код типа того, что приведен ниже. Этот код отображает разделенную запятой величину, выровненную по правому краю:
Убедитесь в том, что вы имеете DefaultDrawing := True, так, чтобы вы могли в ячейках выводить только текст, остальную отрисовку за вас сделает VCL. Теперь все должно работать. При попытке пользователя отредактировать число в ячейке, оно будет отображаться в неформатированном виде (если у вас нет необходимости в обработчике события OnGetEditText). Но при этом вы можете обнаружить, что проверка данных для данного способа может быть проблематична (например, что будет, если пользователь введет 'TX' в числовой колонке). Эта ситуация усугубляется тем фактом, что сетка (во всяком случае DrawGrid) не позволяет реализовать "последовательное поведение" для различных путей навигации по сетке (например, инициализировать различные события, если вы пользуетесь курсорными стрелками, мышью, или просто нажимаете Enter). Но и это все решается простой посылкой другого сообщения (позже я расскажу вам как это можно сделать). Статья Форматирование ячеек TStringGrid раздела Компоненты и Классы TStringGrid и TDrawGrid может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: TStringGrid и TDrawGrid ::
|
|||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |