解决方案 可以通过指定Edwin editor的flags标记来限定用户的输入,输入对话框的资源看起来如下:
Code:
DLG_LINE { type=EEikCtEdwin; id=EMyQuery;
control=EDWIN { maxlength=15; }; } ... void CTestDlgDialog::PrepareLC(TInt aResourceId) { CEikDialog::PrepareLC( aResourceId ); // Dialog base class can be CAknDialog
//CAknDialog::PrepareLC( aResourceId ); // Pick up the Editor control from the dialog CEikEdwin* control = static_cast<CEikEdwin*>(ControlOrNull(EMyQuery)); // Set the input mode control->SetAknEditorInputMode(EAknEditorNumericInputMode); // Restrict the other input modes control->SetAknEditorAllowedInputModes(EAknEditorNumericInputMode); }
上面的示例提供给用户一个可以输入足够位数数字的对话框。 但是它也允许用户输入"*#pw+"这样的字符
|