대문자와 소문자를 자동으로 변환하려면 많은 사람들이 가장 먼저 떠올리는 것이 UCase$와 LCase$이지만, 이 두 함수를 사용하려면 Key_PRess 이벤트에 사용하면 안 됩니다. ABC", 결과는 "cba"가 됩니다 》, 왜?
왜냐하면 A를 입력하면 LCase$가 a로 변환해 주는데, 변환이 완료된 후에는 마우스 커서가 a 앞에서 멈추게 되기 때문입니다. B를 계속 입력하면 Ba가 되고 LCase$가 변환해 주기 때문입니다. 변환이 완료되면 마우스 커서가 ba 앞에 멈춥니다. 계속해서 C를 입력하면 LCase$가 이를 cba로 변환합니다. 믿기지 않는다면 직접 시도해 보세요
Key_Press의 올바른 접근 방식은 KeyAscii 매개변수를 결정하는 것입니다! a의 Asc 값은 97, A의 Asc 값은 65이므로 대문자를 소문자로 자동 변환해야 합니다. 작성 방법은 다음과 같습니다.
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii>=65AndKeyAscii<=90Then
KeyAscii=KeyAscii 32
EndIf->