고구마 님이 쓰신 글 : : Edit box에 Default로 영문 대문자, 영문 소문자, 한글 이렇게 셋팅할수 없나요?? : 답변 부탁드립니다 Object Inspector 를 보시면 ImeMode 라는 property 가 있습니다. imHanguel 이면 기본이 한글, imAlpha 이면 기본이 영문자 입니다. 반각문자로 하려면 imSAlpha 로 하시면 됩니다. 코드로 하려면
Edit1->ImeMode = imSAlpha; 영문 대문자 , 소문자까지 지정해 줄 수는 없습니다. 그러나, 아래와 같이 하시면 되기는 됩니다. 기본이 대문자로 입력되게 하려면
void __fastcall TForm1::Edit1Change(TObject *Sender) { Edit1->Text = UpperCase(Edit1->Text); Edit1->SelStart += 10; } SelStart 없이 하면 문자가 왼쪽으로 늘어나는 형태로 입력되어 버립니다. 따라서 커서의 위치를 조정할 필요가 있습니다. 적당한 값으로 10을 주었는데 영문자로 20글자 까지는 커서가 오른쪽으로 이동하면서 글자가 입력되더군요. MaxLength 값을 적당히 조절하면 원하시는 대로 동작을 할 것 같습니다.
void __fastcall TForm1::FormCreate(TObject *Sender) { Edit1->ImeMode = imSAlpha; Edit1->MaxLength = 20; } |