|
저도 똑같은 것을 개발하는 중인데요
키보드가 버튼이고 사용자가 터치 하면 edit box 에 글자를 넣어부는 프로그램이에요
여기저기 뒤져봐도
다 WM_KEYUP even 발생을 없애라고 하네요
그래서 그렇게 했어요
저는 그래도 안되는 이유가 뭘까요 ?
정말 잘되셨어요?
부럽습니다
저는 이문제만 가지고 일주일이나 시간 끌고 있어요
정말 답을 가르쳐주세요 ㅠ
아제나 님이 쓰신 글 :
: 헐.. TApplicationEvents 컴퍼넌트의 존재를 지금 처음 알았네요....
:
: 시대는 21세기인데, 아직 20세기를 못 벗어난 아제나입니다;; 씨빌더 1.0 수준 ㅜㅜ
:
:
:
: 송득보 님이 쓰신 글 :
: : 해결했네요. 원인을 알았습니다.
: :
: : 마우스 클릭시 WM_KEYUP에 wParam = 0x00e5 값의 메시지가 자동으로 발생이 되네요.
: :
: : 그래서 한글입력시 조합대기모드에서 빠지는 것이었습니다.
: :
: : 에디트의 keyup 이벤트에서 체크해서 빼주면 효과없구요.
: :
: : TApplicationEvents의 OnMessage로 체크해서 아예 그 메시지를 차단해버렸습니다.
: :
: : if (Msg.message == WM_KEYUP && Msg.wParam == 0x00e5)
: : {
: : Handled = true;
: : } //
: :
: : 그랬더니 아주 잘 한글이 만들어지네요.
: :
: : -로크오빠
: :
: : 송득보 님이 쓰신 글 :
: : : 회사 일때분에 이번에는 터치스크린의 가상키보드를 개발중입니다.
: : :
: : : 사용자가 터치스크린으로 버튼식 키보드 자판을 클릭하면
: : :
: : : 에디트박스에 한글 혹은 영문이 찍히게 되어있습니다.
: : :
: : : 한글코드를 발생시키는 api는 keybd_event를 쓰구요.
: : :
: : : 근데 웃긴게 '한'이라는 글자를 칠때 ㅎ, ㅏ, ㄴ을 한 이벤트 안에서 연속으로 실행시키면
: : :
: : : '한'이 되거든요. 근데 클릭하면 이게 따로 'ㅎㅏㄴ'이 되어버리는겁니다.
: : :
: : : 왜그런가 노심초사하다가 보니.. 버튼을 누르고 있는 상태에서 이미 에디트 박스의 커서는
: : :
: : : 한글 조합키를 기다리는 네모박스 상태에서 맨끝으로 이동하여 얇은 세로선..다음 문자를 기다리는 상태로 전환이 되어있더라구요.
: : :
: : : 그러니 이 상태에서 키코드값을 보내면 앞의 한글자모와 조합이 되지못하고 개별문자로 찍게되는것이더군요.
: : :
: : : TSJImgBtn을 쓰는데..혹시 몰라서 포커스가 안오는 TSpeedButton으로 테스트해봐도 똑같네요.
: : :
: : : 왜 이러죠? 이 문제를 해결하신 분들은 어떻게 해결하셨는지요?
: : :
: : : 답답해 죽겠네요. 포커스 이동은 없는데 왜 다른 버튼을 누를때 -누르고 있는 상태- 에디트 박스의 커서 상태가 바뀌는건가요?
: : :
: : : 이것만 해결하면 가상키보드 개발완료거든요. 헬프 미...
: : :
: : : -로크오빠
|