|
저도 예전에 가상키보드를 만들어본 사람으로써 간단히 대답해 드리자면,
Q : 값이 더해지는 것이 아니라 왜 자꾸 덮어쓰는걸까요???
A : 이유는, Edit1->SetFocus();를 하면 Edit1->Text 값 전부를 선택하기 때문입니다.
그 상태에서 keybd_event로 "a"값을 입력하면 "a"값만 남게 되는거죠.
Edit1창에 버튼을 누를때마다 값이 더해지게 하려면 Edit1창에 커서(포커스)가 항상 있어야 하며,
버튼을 눌러도 포커스가 Edit1창에서 버튼으로 이동해서는 안됩니다.
강제 포커스 가져오는 방법과 포커스 죽이는 방법은 검색하면 찾으실 수 있을겁니다.
수고하십시오.
키보드 님이 쓰신 글 :
: 여기저기서 자료를 찾아서 해보고 있는데요...
:
: 처음부터 먼가 막히네요;; 하암....
:
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: Edit1->SetFocus();
: keybd_event(0x41, 0, 0, 0);
: keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);
: }
: //---------------------------------------------------------------------------
:
: 버튼을 누를때 Edit1에 값을 입력하고 싶은데요....
:
: 값이 더해지는것이 아니라 왜 자꾸 덮어쓰는걸까요???
:
: 이전에 있던 글들은 다 지워지고 ㅠㅠ.. 자꾸 한글자 밖에 안적히네요;;
:
: 고수 분들의 많은 도움 부탁드립니다 ^^
|