フィールドへの入力を数字だけに限定することは、リソースでできますが、 金額や日付などの入力で、0で始まる数字は入力できないようにしたい場合 があります。
'0'が入力されたときに、フィールドが未入力の場合に、
入力を無効にする処理の実装が必要になります。
チェックする項目は、
- フォーカスのあるコントロール
- 入力された文字
- フィールドに入力されている文字列の長さ
Boolean MailFormHandleEvent(
EventPtr pEvent) /* I:イベント */
{
/* キーダウンイベント? */
if (keyDownEvent == pEvent->eType)
{
FormPtr pForm;
pForm = FrmGetActiveForm();
/* 入力されたフィールドが、0の入力制限をしたいフィールドか? */
if (フィールドID == FrmGetObjectId(pForm, FrmGetFocus(pForm)))
{
/* '0'が入力された? */
if (chrDigitZero == pEvent->data.keyDown.chr)
{
FieldPtr pField;
pField = (FieldPtr)FrmGetObjectPtr(pForm, FrmGetObjectIndex(pForm, フィールドID));
/* 未入力時? */
if (0 == FldGetTextLength(pField))
{
return true; /* '0'の入力を無効にする */
}
}
}
}
return false;
}
|
'04/11/7 新規作成
Copyright (c) 2004 kasa0 All rights reserved.