Visual Basic, C & C++
분류 Delphi

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 키가 개행 문자 역할을 한다.

 

관련자료

등록된 댓글이 없습니다.
프로그래밍
Today's proverb
“힘내라구.” 밤에 헤어질 때, 아주 좋은 이야기를 나누었을 때든지 아무 관련 없이 로댕은 곧잘 내게 이렇게 말하는 것이었습니다. 그는 알고 있었던 겁니다. 젊었을 때, 이 말이 날마다 얼마나 필요한 것인가를. (릴케)