winAppDev > TEdit > 숫자 입력만 허용 > SetWindowLong() + ES_NUMBER (ES_NUMERIC가 아님) > '숫자 + 알파벳'만 입력할 수 없는 것 같다

운영 환경
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2018/01/05)

TEdit에 숫자 입력만 허용합니다.

htp://bcb r.l. 오 rg / ふぉる ms / ぃぃえ w와 딱 c. php? f=10&t=1113
rlebeau에 의한 다음 코드 예제가 있습니다.
SetWindowLong(Edit1->Handle, GWL_STYLE, GetWindowLong(Edit1->Handle, GWL_STYLE) | ES_NUMERIC);

사용해 보았지만, ES_NUMERIC 가 undefined 가 된다.

htps : // msd 응. mic로소 ft. 이 m/en-u s/ぃb 등 ry/우동 ws/에서 sk와 p/b b775464(v=vs.85). 아 spx
를 참고로 ES_NUMERIC 가 아니라 ES_NUMBER 로 하면 빌드할 수 있었다.

code



Unit1.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{

    SetWindowLong(Edit1->Handle, GWL_STYLE, GetWindowLong(Edit1->Handle, GWL_STYLE) | ES_NUMBER);

}
//---------------------------------------------------------------------------

실행 예



숫자 이외를 입력하면 오류 메시지가 표시됩니다.
소수점도 입력할 수 없습니다.



비고



이 방법에서는 「수치 + 알파벳」만의 입력 허가는 할 수 없는 것 같다.

htps : // m / 7, f9 / ms / 1, 51968f967b8, d70cfc
에 기재된 것과 같은 코드로 입력 후의 내용으로부터 특수 문자를 삭제하는 방법을 사용하게 될까.

좋은 웹페이지 즐겨찾기