본문 바로가기
Delphi Tip/컴포넌트

[Controls] EDIT에 숫자만 입력받기

by MonoSoft 2021. 11. 2.
728x90
반응형

[Controls] EDIT에 숫자만 입력받기

 

 

TEdit를 비롯하여 EDIT 컨트롤에 숫자만 입력받도록 하는 방법은?

여러가지가 있겠지만

간단히 GWL_STYLE을 변경해주므로 가능합니다.

가끔 필요한데 생각이 나지 않아서 찾아야 하는데.. 찾는 수고를 덜기 위해서 여기에 ....

 

@C++Builder에서

void __fastcall TDLG_MANAGE::FormCreate(TObject *Sender)

{

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

}

 

@ Delphi 에서

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or ES_NUMBER);

end;

 

@기타  Edit Style

 

ES_AUTOHSCROLL

에디트 컨트롤 내에 텍스트를 입력할 때 에디트 영역의 크기를 넘기면 자동으로 수평 스크롤된다.

ES_AUTOVSCROLL

여러 줄의 에디트 컨트롤 내에 텍스트를 입력할 때 자동으로 수직스크롤된다.

ES_CENTER

여러 줄의 에디트 컨트롤에서 텍스트를 가운데로 정령한다.

ES_LEFT

텍스트를 좌측으로 정렬한다.

ES_LOWERCASE

에디트 컨트롤에 소문자의 입력만을 허용한다. 대문자가 입력되면 자동으로 소문자로 바뀐다.

ES_MULTILINE

여러 줄의 에디트 컨트롤을 만든다. 엔터키를 개행 문자(Carriage Return)로

인식시키려면 ES_WANTRETURN 스타일을

이용해야 한다.

ES_NOHIDESEL

에디트 컨트롤에 입력 초점을 가지고 있지 않더라도 선택 영역 표시가 없어지지 않도록 한다.

ES_NUMBER

에디트 컨트롤에 숫자만이 입력될 수 있도록 한다.

ES_OEMCONVERT

입력된 텍스트는 Windows 문자셋에서 OEM 문자 세트로 변환되며 다시 Windows 세트로 되돌려진다.

이는 CharToOem 함수를 사용했을 때 변환이 정확히 일어나게 해준다.

(OEM - See original equipment manufacturer.)

ES_PASSWORD

입력되는 각 문자를 암호 문자로 표시한다. 디폴트 암호 문자는 애스터리스크(*)이다.

암호문자를 변경 하려면 ES_SETPASSWORDCHAR 메시지를 이용한다. 

ES_READONLY

읽기 전용 컨트롤을 생성하여 사용자가 컨트롤 내에 텍스트를 입력하거나 편집할 수 없도록 한다.

ES_RIGHT

여러 줄의 에디트 컨트롤에서 텍스트를 오른쪽으로 정렬한다.

ES_UPPERCASE

에디트 컨트롤에 대문자의 입력만을 허용한다. 소문자가 입력되면 자동으로 대문자로 바뀐다.

ES_WANTRETURN

엔터키를 여러 줄의 에디트 컨트롤에서 개행 문자로 인식하도록 한다.

디폴트는 엔터키를 주르면 대화 상자 내의 디폴트 버튼을 선택하게 되며

이 때에는 ctrl-enter 키가 개행 문자 역할을 한다.

 

 

728x90
반응형

'Delphi Tip > 컴포넌트' 카테고리의 다른 글

델파이 TChart 마커 이동하기  (0) 2021.11.04
델파이 TChart 설명  (0) 2021.11.03
TXMLDocument를 이용한 XML로딩방법  (0) 2021.11.01
TList 활용하기  (0) 2021.10.29
TEdit 다음 포커스 이동하기  (0) 2021.10.28

댓글