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
[57199] Re:자답:가상키보드 질문..
아제나 [azena] 2376 읽음    2009-06-10 11:57
헐.. 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으로 테스트해봐도 똑같네요.
: :
: : 왜 이러죠? 이 문제를 해결하신 분들은 어떻게 해결하셨는지요?
: :
: : 답답해 죽겠네요. 포커스 이동은 없는데 왜 다른 버튼을 누를때 -누르고 있는 상태- 에디트 박스의 커서 상태가 바뀌는건가요?
: :
: : 이것만 해결하면 가상키보드 개발완료거든요. 헬프 미...
: :
: : -로크오빠

+ -

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