金額や日付の入力で、'0'から始まる入力を無効にする
Top > Tips > Field

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