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
에 기재된 것과 같은 코드로 입력 후의 내용으로부터 특수 문자를 삭제하는 방법을 사용하게 될까.
Reference
이 문제에 관하여(winAppDev > TEdit > 숫자 입력만 허용 > SetWindowLong() + ES_NUMBER (ES_NUMERIC가 아님) > '숫자 + 알파벳'만 입력할 수 없는 것 같다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/7of9/items/392bd3a5530bfb301d5c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)