|
이단자 님이 쓰신 글 :
: TEdit에서 숫자만 입력하고 싶을때 어떻게 하나요?
:
: mfc에서는 그 에디터를 설정하는 곳에서 숫자의 범위와 함께 설정할수 있었는데...
:
: 빌더에서는 안되나요?
안녕하세요 만해 입니다.
TEdit에서 숫자만 입력 받을려면
TEdit의 OnKey Event나 OnKeyDown 이벤트에서 Key 값을 제한 시켜 주면 되고요
어떤 방식으로 하냐면
void TForm1::TEdit1OnKey(TObject &Sender, char Key )
{
if ( !isnumber(Key) )
Key = "";
}
위의 소스 처럼 Key인자를 받아 와서 그 key인자가
isnumber() <- 씨언어의 기본 함수 이지요
숫자인지 아닌지 판별해서 보낸 주는 함수 입니다.
숫자가 아니면 key 값을 삭제 시키는 식으로 하시면 됩니다.
이걸 응용하면 TEdit에서 엔터키를 눌렀을때 다음 컨트롤로 이동 하게
하는것도 가능 합니다.
void TForm1::TEdit1OnKey(TObject &Sender, char Key )
{
if ( Key == VK_RETURN )
TEdit2->SetFocus();
}
위의 소스는 엔터키가 눌러지면
TEdit2로 포커스를 넘기는 예제 입니다.
참 그리고 함수가 야간 틀릴수 있는데
지금 제가 빌더를 사용하고 있지 않은 상태라서
제기억이 나는데로 함수를 타이핑한거라 제가 틀렸을 껍니다.
참고 하시고요
좋은 프로그램 짜세요
그럼 이만~
|