フィールドへの入力を数字だけに限定することは、リソースでできますが、 金額や日付などの入力で、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.