C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[57196] 자답:가상키보드 질문..
송득보 [syiware] 2351 읽음    2009-06-10 09:46
해결했네요. 원인을 알았습니다.

마우스 클릭시 WM_KEYUP에 wParam = 0x00e5 값의 메시지가 자동으로 발생이 되네요.

그래서 한글입력시 조합대기모드에서 빠지는 것이었습니다.

에디트의 keyup 이벤트에서 체크해서 빼주면 효과없구요.

TApplicationEvents의 OnMessage로 체크해서 아예 그 메시지를 차단해버렸습니다.

  if (Msg.message == WM_KEYUP && Msg.wParam == 0x00e5)
  {
    Handled = true;
  } //

그랬더니 아주 잘 한글이 만들어지네요.

-로크오빠

송득보 님이 쓰신 글 :
: 회사 일때분에 이번에는 터치스크린의 가상키보드를 개발중입니다.
:
: 사용자가 터치스크린으로 버튼식 키보드 자판을 클릭하면
:
: 에디트박스에 한글 혹은 영문이 찍히게 되어있습니다.
:
: 한글코드를 발생시키는 api는 keybd_event를 쓰구요.
:
: 근데 웃긴게 '한'이라는 글자를 칠때 ㅎ, ㅏ, ㄴ을 한 이벤트 안에서 연속으로 실행시키면
:
: '한'이 되거든요. 근데 클릭하면 이게 따로 'ㅎㅏㄴ'이 되어버리는겁니다.
:
: 왜그런가 노심초사하다가 보니.. 버튼을 누르고 있는 상태에서 이미 에디트 박스의 커서는
:
: 한글 조합키를 기다리는 네모박스 상태에서 맨끝으로 이동하여 얇은 세로선..다음 문자를 기다리는 상태로 전환이 되어있더라구요.
:
: 그러니 이 상태에서 키코드값을 보내면 앞의 한글자모와 조합이 되지못하고 개별문자로 찍게되는것이더군요.
:
: TSJImgBtn을 쓰는데..혹시 몰라서 포커스가 안오는 TSpeedButton으로 테스트해봐도 똑같네요.
:
: 왜 이러죠? 이 문제를 해결하신 분들은 어떻게 해결하셨는지요?
:
: 답답해 죽겠네요. 포커스 이동은 없는데 왜 다른 버튼을 누를때 -누르고 있는 상태- 에디트 박스의 커서 상태가 바뀌는건가요?
:
: 이것만 해결하면 가상키보드 개발완료거든요. 헬프 미...
:
: -로크오빠

+ -

관련 글 리스트
57194 가상키보드 질문.. 송득보 1585 2009/06/10
57196     자답:가상키보드 질문.. 송득보 2351 2009/06/10
57199         Re:자답:가상키보드 질문.. 아제나 2377 2009/06/10
67071             Re:Re:자답:가상키보드 질문.. 씨셈 1555 2012/05/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.