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

Вниз

Маска в StringGrid   Найти похожие ветки 

 
Bagdat ©   (2005-10-17 16:21) [0]

Приветствую всех!!! Подскажите плиз, как сделать так чтобы в определенные ячейки StringGrid-а вводились только цифры. Заранее благодарен!!!


 
han_malign ©   (2005-10-17 17:36) [1]

событие OnKeyPress
примерно так:
procedure TParamsForm.sgParamsKeyPress(Sender: TObject; var Key: Char);
var gr: TGridRect;
   _param: TParam;
   dwAddr: DWORD;
   _s: string;
begin
 case(Key)of
 ^a: begin
   gr.Left:=0;gr.Top:=1;
   gr.Right:=sgParams.ColCount-1;gr.Bottom:=sgParams.RowCount-1;
   sgParams.Selection:=gr;
 end;
 #27: begin
   if(sgParams.EditorMode)then begin
     sgParams.EditorMode:=false;
     sgParams.Cells[sgParams.Col,sgParams.Row]:=F_sKeepEdit;
     if(sgParams.Objects[0,sgParams.Row]<>nil)
     then TParam(sgParams.Objects[0,sgParams.Row]).F_CurStatus:=F_KeepStatus;
   end;
 end;
 #32..#255: begin
   case(sgParams.Col)of
   0..2:if(not(Key in["0".."9"]))then begin
     Key:=#0;
     MessageBeep(0);
   end;
   3: begin
     _param:=RowParam(sgParams.Row,dwAddr,_s);
     if((_param=nil)or(dwAddr=cInvalidAddress)or not _param.ValidKey(Key,dwAddr))then begin
Key:=#0;
MessageBeep(0);
     end;
   end;
   end;
 end;
 end;{case(Key)}
end;


 
begin...end ©   (2005-10-17 17:38) [2]

> Bagdat ©   (17.10.05 16:21)

> Подскажите плиз, как сделать так чтобы в определенные ячейки
> StringGrid-а вводились только цифры.

TStringGrid.OnGetEditMask


 
Leonid Troyanovsky ©   (2005-10-17 17:41) [3]


> Bagdat ©   (17.10.05 16:21)  
> Приветствую всех!!! Подскажите плиз, как сделать так чтобы
> в определенные ячейки StringGrid-а вводились только цифры.


VCL Reference: OnGetEditMask Example

--
Regards, LVT.


 
Bagdat ©   (2005-10-18 07:28) [4]

Я согласен с OnGetEditMask. Но к чему мне приравнивать value чтобы перед цифрами по желанию вводить знак "-" короче надо чтобы вводили double


 
Bagdat ©   (2005-10-18 08:50) [5]

Кто нибудь знает нет????


 
Leonid Troyanovsky ©   (2005-10-18 09:27) [6]


> Bagdat ©   (18.10.05 08:50) [5]
> Кто нибудь знает нет????


Кто-то, может, и знает. Однако, IMHO, важнее знать тебе.
Для этого есть, например, VCL Reference: TEditMask type.
Но, с другой стороны, трудно представить, что значит "вводили double",
т.к., самая общая форма подразумевает маску вроде #0.999999E#99.

Т.е., возможно, что желаемое и невозможно достичь c помощью маски,
а требует более решительных мер, скажем, замену InplaceEditor.

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
4-1125771215
GuAV
2005-09-03 22:13
2005.11.06
Сшная структура из MSDN - как понимать такие поля ?


9-1118910515
Xenon
2005-06-16 12:28
2005.11.06
Вопросик по PD


6-1121972461
BBCHa
2005-07-21 23:01
2005.11.06
Создание письма в почтовой программе по умолчанию


14-1129266176
Ega23
2005-10-14 09:02
2005.11.06
С днем рождения! 14 октября


6-1121858218
alexa
2005-07-20 15:16
2005.11.06
Передача голоса