Форум: "Основная";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизМаска в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c