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
[43403] Re : 답변감사합니다.(해결됨)
istree [] 981 읽음    2006-01-23 09:45
/***********************************************************************************/
// 메시지 보내서 버튼 누르기 ( 버튼의 클래스가 'TButton'이고 캡션이'PushButton'일 경우)

HWND hWndButton = ::FindWindowEx( hWndPannel, NULL, "TButton", "PushButton");

if( !hWndButton)
    return FALSE;

::SendMessage(hWndPannel, WM_COMMAND, NULL, MAKELONG(hWndButton, BN_CLICKED));

//***********************************************************************************/


버튼의 부모 윈도우를 구해서 WM_COMMAND에 BN_CLICKED를 넣어주면 되더군요.
Spy++로 살펴보니 MFC처럼 resource.h에 해당 컨트롤의 ID를 선언해서 사용하는게 아니고 VCL 내부에 완전 캡슐화되서 실행할때마다 ID가 바뀌더군요. 자세히 보니 컨트롤 ID는 자신의 윈도우 핸들과 같더라구요. 그래서 저런방식으로 하니깐 클릭이 되었습니다.
답변 주셔서 매우 감사합니다.

그리고 게시판이 가입하지 않아도 글을 작성할수 있어서 매우 좋군요. 누구에게나 열려있다는 느낌이 듭니다.
하지만 관리하시는분이 힘들겠네요. :)

j 님이 쓰신 글 :
: istree 님이 쓰신 글 :
: : VC++로 만든 프로그램으로 빌더로 만든 프로그램의 버튼을 눌러야 합니다.
: :
: : 거기에 있는 버튼을 클릭하고 싶은데
: :
: : 메인 폼의 핸들은 구했는데 버튼의 ID가 뭔지 도저히 알수가 없네요.
: : VC++같은 경우엔 IDC_BUTTON_A 이런식으로 resouce.h에 ID가 설정되어 있는데.
: : ID만 알면 WM_COMMAND 메시지 보내서 버튼을 클릭하고 싶은데 어떡게 해야할지 감이 안옵니다.
: : 소스를 봐도 버튼의 ID가 정의된 부분은 없네요.
: : 제발 좀 가르쳐 주십시오 ㅠㅠ
:
: 모르긴 해도 그 ID는 찾을 수 없으실 겁니다.
:
: 대안으로는,
: 프로그램 실행 시에 버튼의 윈도우 핸들을 구한 다음
: WM_LBUTTONDOWN ,WM_LBUTTONUP 메시지를 쌍으로 보내야 할겁니다.
:
: 보통 빌더의 버튼은 TButton을 많이 사용하는데 그 윈도우클래스이름은 "TButton"입니다.
: 해당 버튼의 윈도우 타이틀은 TButton의 Caption 속성에 나와 있는 것이구요.
: 이 두개는 소스를 보면 나와 있으므로 찾을 수 있을 겁니다.
: 소스가 없다면 빌더로 제작된 프로그램을 실행하고 있는 상태에서, 빌더의 WinSight32나 VC++의 Spy++ 프로그램으로 찾아볼 수 있습니다.

+ -

관련 글 리스트
43346 VC++로 만든 프로그램으로 C++ 빌더로 만들어진 프로그램의 버튼을 클릭하고 싶습니다. istree 924 2006/01/17
43354     Re:VC++로 만든 프로그램으로 C++ 빌더로 만들어진 프로그램의 버튼을 클릭하고 싶습니다. j 976 2006/01/18
43403         Re : 답변감사합니다.(해결됨) istree 981 2006/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.