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
[54340] Re:메모장에 스페이스바가 눌리도록..
장성호 [nasilso] 1708 읽음    2008-08-18 00:17
두가지정도 수정을 ...

첫째로
   만약 C++Builder로 Notepad 같은것을 만들기 위해 Form위에 TMemo를 하나 올렸다고 가정할때..
   님의 코드를 적용하면
   SendMessage( FindWindow(NULL, "Form1"), VK_SPACE, 0, 0 );
   이런식이 되겠죠?

   TMemo가 아닌 Form에 메세지가 가는것입니다.
  
   노트패드도 마찬가지죠
   Nodepad의 메인윈도우가 있고 그 안에 VCL의 TMemo가 비슷한 Edit 컨트롤이 있습니다.
   메인폼의 Child에서 Edit를 찾아 메세지를 날려줘야죠

  HWND hWnd=FindWindow(NULL, "제목 없음 - 메모장");
  HWND hEdtWnd=FindWindowEx(hWnd,NULL,"Edit","");
  SendMessage(hEdtWnd , ***


두번째
 
  VK_SPACE는 Key값입니다.
  직접 키보드를  두드려도 키값이 메세지로 오지 않고 WParam으로 오죠
  그런데 님은 Message로 보내셨네요
 
  Message로는 WM_CHAR를 보내줘야 합니다.


종합해서
 
  HWND hWnd=FindWindow(NULL, "제목 없음 - 메모장");
  HWND hEdtWnd=FindWindowEx(hWnd,NULL,"Edit","");
  SendMessage(hEdtWnd ,WM_CHAR, VK_SPACE, 0 );


뭐 이런식으로 해 줘야는 거죠

그럼



이성제 님이 쓰신 글 :
: SendMessage( FindWindow(NULL, "제목없음 - 메모장"), VK_SPACE, 0, 0 );
:
: 이렇게 했더니 애러가 나고 메모장이 꺼지는군요..
:
: 어떻게 하면 메모장에 스페이스(' ') 가 들어갈까요? ㅜ.ㅜ
:
: keybd_event 가 아닌 send 나 post  로 작성하려고 합니다.
:
: 부탁드립니다,

+ -

관련 글 리스트
54339 메모장에 스페이스바가 눌리도록.. 이성제 1207 2008/08/17
54340     Re:메모장에 스페이스바가 눌리도록.. 장성호 1708 2008/08/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.