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

델파이 Q&A
Delphi Programming Q&A
[4052] [답변] 피아노맨/ 다른 프로그램에 메세지는 어떻게 보
박지훈.임프 [cbuilder] 1426 읽음    1998-08-17 01:30
안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당자 임펠리테리입니다.

얼마전에 제가 골머리를 썩였던 문제로 고민하고 계시는군요. 저도 한글을 메시지로

보내기 위해 골치좀 썩였답니다. ^^;;

원하시는 것처럼 한글문자를 코딩으로 보내기 위해서는, WM_CHAR 메시지가 아니라

WM_IME_CHAR 메시지를 써야합니다. 2바이트 문자를 위해 별도로 준비된 메시지죠.

사용법, 그러니까 wparam과 lparam은 WM_CHAR의 경우와 유사한데, 단지 주의할 것은

wapram 인자로서 2바이트 문자를 같이 보내줘야 한다는 것입니다. 그러니까, 한글 코

드 2바이트 문자의 앞 바이트를 8비트만큼 시프트해서 두번째 바이트를 or해서 넘겨

줘야 합니다.

그리고, SendMessage와 PostMessage는 윈32 레퍼런스를 찾아보면 자세히 나옵니다.

물론 위의 WM_IME_CHAR 메시지도 그렇구요. 글쎄, 그렇게 잘 알고 말고 할 내용은 없

을거 같은데.. ^^;;; 단지, SendMessage와 PostMessage는 약간의 차이점이 있는데,

SendMessage는 메시지를 특정 윈도우에 직접적으로 전달하고 그 메시지의 처리가 완

료될때까지 리턴되지 않습니다. 그러니까, 그동안 현재 프로세스는 중지된 상태죠.

반면에, PostMessage는, Post란 이름에서도 알수 있듯이, 윈도우의 메시지큐에

메시지를 덜~렁~ 던져줘버리고는 재빨리 돌아와버립니다. 경우에 따라 SendMessage

와 PostMessage를 구별해서 사용해야겠지만, 일반적인 경우에는 SendMessage가 안전

합니다.

그럼 도움되시길 바라면서, 이만...




독립문에서 임펠리테리였습니다.

(cbuilder, skyhi18)



+ -

관련 글 리스트
4052 [답변] 피아노맨/ 다른 프로그램에 메세지는 어떻게 보 박지훈.임프 1426 1998/08/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.