Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
Внизразделитель разрядов в StringGrid1 Найти похожие ветки
← →
Штрихкодер (2009-08-19 21:22) [0]Вечер добрый.
Такая проблемка. Нужно чтобы в одном столбце таблицы StringGrid, в которую вводятся данные целочисленного типа значения отображались с разделением разрядов миллионов и тысяч. Что можете посоветовать?
← →
{RASkov} © (2009-08-19 21:23) [1]Format
← →
Anatoly Podgoretsky © (2009-08-19 21:34) [2]Вообще то StringGrid1 это исключительно текстовый орган ввода и поэтому пробел точно такой же элемент, как скажем 4, то есть можешь в него писать не только цифры
← →
ЗфдЗфднср (2009-08-19 21:43) [3]Anatoly Podgoretsky, я понимаю.
Нужно чтобы пользователь вводил 1237568, а отображалось как 1 237 568. Т.е стандартных средств нет? Нужно при каждом нажатии клавиши анализировать введёный текст и при необходимости добавлять пробелы? Или можно как-то проще?
← →
Anatoly Podgoretsky © (2009-08-19 21:55) [4]> ЗфдЗфднср (19.08.2009 21:43:03) [3]
Стандартных средсв полно, но это не TStringGrid - любые внешние средства форматирования, например FloatFormat как более наглядное
← →
Loginov Dmitry © (2009-08-19 23:02) [5]> Нужно при каждом нажатии клавиши анализировать введёный
> текст и при необходимости добавлять пробелы? Или можно как-
> то проще?
Имхо проще - свою отрисовку на OnDrawCell. Пример вывода на
канву сетки:procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
Value: Integer;
begin
if TryStrToInt(TStringGrid(Sender).Cells[ACol, ARow], Value) then
begin
TStringGrid(Sender).Canvas.FillRect(Rect);
TStringGrid(Sender).Canvas.TextOut(Rect.Left, Rect.Top, Format("%.0n", [Value / 1]));
end;
end;
← →
Штрихкодер (2009-08-20 12:02) [6]Loginov Dmitry © , Большое Человеческое Спасибо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.10.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.149 c