|
OnKeyDown 이벤트가 OnKeyPress보다 먼저 실행되니 거기서 코딩하세요.
heartsim 님이 쓰신 글 :
: 안녕하세요. 답변에 도움이 되었습니다.
: 근데 안 되는 부분이 있어서요...^^
:
: Edit에 숫자 1이 있다고 했을 때,
: 백스페이스키를 누르면 1이 삭제가 되고,
: 그런 다음 숫자 0이라는 값을 입력을 하고
: 엔터키를 쳤을 때 GBgrid필드 또는 Label에 그 값이 나타나야 되는데요...해보니 잘 안되네요..
: 가령 백스페이스로 지우고 숫자 0이라는 값을 입력하면 00 이렇게 같은 두숫자가 똑 같이 찍히더라구요.
:
: 이벤트는 EditKeyPress를 쓰고 있는데, 혹 EditKeyDown이벤트도 되는지요?
:
: 즐거운 하루 되세요.
:
: 문정원 님이 쓰신 글 :
: : 백스페이스키는 VK_BACK 입니다.
: : 숫자입력을 막으실려면 이렇게 하시는게...
: : void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key)
: : {
: : if(isdigit(Key)) Key = 0;
: : }
: :
: :
: :
: : heartsim 님이 쓰신 글 :
: : : Edit에 숫자(데이터)가 입력되어 있을 때 , 백스페이스 키를 이동해 지우고 다른 값을 쓸 수 있도록
: : : 할려고 하는데 잘 안되네요.(프로그램 오류)
: : : 제가 한 방법은 OnKeyPress에 VK_SPACE를 첨가해서 해봤는데, 이 인자가 아닌듯...
: : : winuser.h에 찾아보니 VK_BACKSPACE키에 대한 define은 없더라구요.
: : : 혹 이것 아니더라도 Insert모드라든지 관련 기능이 있음 알려주십시요.
: : :
: : : 즐거운 하루 되세요..
|