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
인생이란 누구에게나 감당할 수 있을 만큼의 무게이다.