2013-06-18 1 views
6

고정 StringGrid로 iOS App을 만들고 싶습니다. 이 항목의 모든 셀은 숫자 값만 받아 들여야합니다. 이를 위해 KeyboardType을 vktNumberPad로 설정하려고합니다 ... 그러나 지금까지는이 항목에 대한 항목을 찾지 못했습니다. 여기있는 사람이이를 수행하는 방법에 대한 단서가 있습니까?StringGrid에 값을 입력 할 때 키보드 유형을 설정하는 방법이 있습니까?

좋아요, 다음의 Mikes 다음 힌트를 통해 필자는 자체 컬럼 클래스를 사용하기 시작했습니다. 여기

TNumEditCell = class(TEdit) 
end; 
TNumberColum = class(TStringcolumn) 
private 
    function CreateCellControl: TStyledControl; override; 
end; 

그리고

는 이해할 수없는 부분을 제공 :

function TNumberColum.CreateCellControl: TStyledControl; 
begin 
    result := TNumEditCell.Create(Self); 
    TNumEditCell(result).KeyboardType := vktNumberPad; // <- is undeclared!! What?! 
    TNumEditCell(result).OnChange := DoTextChanged; 
end; 

우리의 좋은 친구는 컴파일러 vktNumberPad이 무엇인지 알 수 없습니다. 내가 전화 기둥으로 그를 가리킬지라도 FMX.Types.TVirtualKeyboardType(vktNumberPad). 나는 뭔가 잘못하고있는 것 같아요. (

최종 수정 : 실제로 나는 틀린 일을했습니다. 피터가 지적했듯이, 위의 코드와 피터스는 모든 것이 작동한다는 것을 암시합니다. 음 ... 어떻게이 질문을 끝내나요?

+0

은 TEdit를 들어, 디자이너의 KeyboardType를 설정할 수 있습니다 당신이 tstringgrid으로 그렇게 할 수 없습니다 – Argalatyr

+0

아니.? , 단순히 TEdit과 같지 않음. 적어도 속성을 찾을 수 없습니다. – Sherlock70

+1

표 셀은 단순히 TEdit이므로 아무 문제가 없어야하지만 사용자 정의 열 클래스가 필요하므로 Cre에서 설정할 수 있습니다 ateCellControl - http://monkeystyler.com/guide/Custom-Grid-Columns –

답변

2
당신이 제대로 해결되지 않기 때문에 컴파일러가 vktNumberPad에 대해 알고하지 않습니다 사용

:. TNumEditCell(result).KeyboardType := TVirtualKeyboardType.vktNumberPad