Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

ограничение на ввод в стрингриде   Найти похожие ветки 

 
Настенька   (2004-02-13 10:04) [0]

напишите, как сделать, чтобы в одну ячейку стринггрида можно было вписать
только одну букву, т.е. поставить ограничение на длину ячейки (1 символ)


 
Тимохов ©   (2004-02-13 10:10) [1]

Штатно - вроде никак.
Делать надо самому.
Даю идею - когда ячейка редактируется, в нее вставляется TInplaceEdit (потомок TCustomMaskEdit). Вот тебе надо отлавить момент начала редактирования и установить MaxLength у InplaceEditor (т.е. текущего редактора).


 
Настенька   (2004-02-13 10:13) [2]

а кодик можно, я начинающая


 
Тимохов ©   (2004-02-13 10:17) [3]

Я же сказал - идея.
Кода нет, вернее он есть, но мне его у себя выцеплять долго. Честно говоря нет времени.
А идея верная.
А еще лучше идея - найти готовый компонент.


 
NAlexey ©   (2004-02-13 10:50) [4]


type
TDummyGrid = class(TCustomGrid);
TDummyEdit = class(TCustomEdit);

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
with TDummyEdit(TDummyGrid(StringGrid1).InplaceEditor) do
if MaxLength <> 1 then
MaxLength := 1;
end;


 
olookin ©   (2004-02-13 12:08) [5]

А разве не катит просто :

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if length(value)>0 then stringgrid1.cells[acol,arow]:=value[1];
end;


 
Тимохов ©   (2004-02-13 12:10) [6]


> olookin © (13.02.04 12:08) [5]

По результату работы - кактит.
Но имхо автор хотел, чтобы это ограничение бло на уровне ввода.


 
olookin ©   (2004-02-13 12:13) [7]

[6] Тимохов © (13.02.04 12:10)

>>Но имхо автор хотел, чтобы это ограничение бло на уровне ввода.

Непонятно, это как - на уровне ввода? В моем случае как раз на уровне ввода.


 
Тимохов ©   (2004-02-13 12:20) [8]


> Непонятно, это как - на уровне ввода? В моем случае как
> раз на уровне ввода.

Наверное, вы правы. Нет к сожалению сейчас возможности в этом убедится. :)))0


 
NAlexey ©   (2004-02-13 12:28) [9]

>olookin © (13.02.04 12:08) [5]
Хм... Этот вариант даже более лучший. Так как в моем примере не работает Paste.


 
ЮЮ ©   (2004-02-13 13:16) [10]

А по моему ещё лучше запретить редактирование и обрабатывать OnKeyPress grid-а и заменять содержимое текущей ячейки буквой нажатой клавиши


 
Настенька   (2004-02-15 08:55) [11]

спасибо за ответ!!! вы молодцы



Страницы: 1 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.034 c
14-94114
Думкин
2004-02-08 11:59
2004.02.29
С днем науки!


11-93821
=Sniper=
2003-06-14 17:13
2004.02.29
В VCL работает правильно, а в KOL неправильно


14-94145
127.0.0.1
2004-02-08 17:20
2004.02.29
Посмотри и улыбнись ;)


6-94067
killer
2003-11-14 15:25
2004.02.29
Как из InternetExplorer-а вытащить URL-адрес и заголовок окна?


1-93895
Anton
2004-02-15 11:56
2004.02.29
Как изменить элемент массива?