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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[7] 팁! 클립보드 복사 감지
박지훈.임프 [cbuilder] 10460 읽음    1999-06-04 00:00
임펠리테리입니다.
요즘 바쁜 제 사정으로 오늘부터 매일 올리는 팁은 다른 곳에 했던 답변을 올려드
립니니다.

오늘 올려드리는 팁은 제가 하이텔 빌더 질문/답변란에 썼던 답변입니다.
내용은, 에디트류의 컴퍼넌트에서 사용자가 블럭을 선택해서 복사하면 자동으로 그
내용을 특정 에뮬레이터로 보내는 것입니다.
마지막에 FindWindow() 함수에 대한 설명이 좀 부족한데, 이 함수는 api 함수로서
첫번째 인자는 클래스네임, 두번째 인자는 윈도우이름(보통은 윈도우 캡션이죠)
을 넘겨주면 해당 윈도우의 핸들을 리턴합니다. 아래 경우에선 에뮬레이터의
타이틀을 인자로 넘겨주면 되겠군요. 그런후에 SendMessage로 WM_PASTE 메시지
를 보내면 됩니다.

그럼 도움되시길... ^^

제  목:[질문] 클립보드에 복사되는거 감지
보낸이:홍환선  (hhs1979 )    08/12 16:17  조회:26  1/2
───────────────────────────────────────

안녕하세요? 빌더 초보입니다.

클립보드에 어떤 것이 복사되는것을 감지해서

그 복사된 내용을 처리할려고 하는데

그 복사되는것을 어떻게 감지 하는지 알고 싶습니다.

그리고 또 한가지는

그 처리한 내용을 통신에뮬레이터에 자동으로 붙여넣기 하려고 하는데

이건 안될거 같고.. 그냥 사용자가 붙여넣기로 붙여넣어야 할것같은데

자동으로 붙여넣게 만들수 있나요? 그러면 그 방법은?


답변 부탁드립니다.



제  목:[답변/1395] 클립보드 복사 감지...
보낸이:김창구  (t9580   )    08/13 07:40  조회:74  1/3
───────────────────────────────────────

안녕하세요. 친구아뒤를 겁없이 훔쳐쓰는 임펠리테리입니다.
말씀하신 것과 같이 copy 동작을 가로채기 위해 나름대로 해봤는데..
최선의 방법인지는 잘 모르겠구요, 어쨌든 되긴 하더군요.
먼저 에디트 컨트롤의 WM_COPY 메시지를 가로채기 위해 메시지핸들러를 작성해야
하겠는데, 이 메시지핸들러는 에디트 컨트롤의 클래스 내에 만들어줘야 되겠더군
요. 그래서 일단 에디트를 상속받은 클래스를 하나 만들고, 그 클래스 안에 메시
지맵을 구성하였습니다.
BEGIN_MESSAGE_MAP
    VCL_MESSAGE_HANDLER(WM_COPY, TMessage, OnCopy)
END_MESSAGE_MAP(TEdit)

그리고 여기서 적어준 이름과 같은 OnCopy라는 메시지 핸들러를 만들었죠.
클래스 내의 선언은..
MESSAGE void OnCopy(TMessage &msg); 요렇게..
그리고 정의는..
MESSAGE void TXEdit::OnCopy(TMessage &msg)
{
    Caption = "11";
}
참고로 TXEdit는 제가 에디트를 상속받아 만든 클래스 이름입니다. 이 클래스의
역할은 아무것도 없이, 단지 WM_COPY 메시지만 가로채는거죠.
태스트를 위해서 그냥 캡션만 바꾸도록 햇습니다. (웃기게도.. 제실수로.. 하하~
에디트의 캡션을 바꿔버리더군요.. 에디트엔 캡션이 없는데도)

이렇게 하고 컴파일하니 잘 됩니다. (무식하게 에디트의 캡션을 바꾸더군요.. --;;)

그리고 두번째 질문은.. 해당 에뮬레이터의 핸들을 찾아서 WM_PASTE 메시지를 보내
면 간단히 해결되겠군요..
그럼 도움되시길 바라면서, 이만...



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


+ -

관련 글 리스트
7 팁! 클립보드 복사 감지 박지훈.임프 10460 1999/06/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.