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
[70082] Re:Re:Re:Re:Re:Re:마우스 더블 클릭 이벤트 질문
김영진 [] 2476 읽음    2013-09-04 14:00
우성님 정말 감사 드립니다.

우성님이 주신 코드로 하니까 마우스 더블클릭 은 잘 됩니다.
그런데 엔터키는 항상 A함수가 실행이 됩니다.
좀 더 고민해 봐야 할것 같습니다.

다시 한번 너무너무 감사 드립니다.

박우성 님이 쓰신 글 :
: 그냥 간단하게, 프로그램이 실행되고 나서 키보드가 눌러졌는지만 판단하면 되겠네요.
:
: 다음 코드는 탐색기에서 더블클릭하거나, 엔터키로 실행했을 때 모두 정상처리됩니다.
:
:
void __fastcall TForm1::FormShow(TObject *Sender)
: {
: 	if( GetKeyState( 'Y' ) & 0x8000 ){  //'Y'키가 눌러 졌는지
: 		MessageBoxA( NULL, "B 함수 실행", "테스트", 0 );
: 	}else{
: 		MessageBoxA( NULL, "A 함수 실행", "테스트", 0 );
: 	}
: }

:
:
: 김영진 님이 쓰신 글 :
: : 제 질문에 문제가 있었나 봅니다. 죄송 합니다.
: : 우선 질문의 요지 부터 말씀 드리면 그렇습니다.
: :
: : 우성님이 말씀 하신대로 프로그램을 그냥 실행하면 A함수가 실행 되고, Y키를 누른 상태에서 실행하면 B함수가 실행되는 것을 말씀 드린 것을 질문을 한 것이었습니다.
: : Y키를 누른 상태에서 키보드로 엔터를 치면 정상 동작 했었는데, Y키를 누른 상태에서 마우스로 exe 실행화일을 떠블 클릭 하면 동작 하지 않아서 질문을 드린것이었습니다.
: : 도움을 주시려고 했는데, 제가 질문이 모호 해서 죄송 합니다.
: :
: : 어찌되었든, 혹시 위와 같이 처리 할 수 있는 방법이 있는지요?
: :
: : 우성님 다시 한 번 답변 감사 드립니다.
: :
: : 박우성 님이 쓰신 글 :
: : : 질문에 표현상 문제가 있네요.
: : :
: : : 보통 더블클릭이라고 말하는 것은 이벤트를 이야기 하죠.
: : : 근데, 질문에서 더블클릭은 제 추측으로는 탐색기에서 프로그램을 실행하는 것을 말하는 것 같은데요.
: : :
: : : 질문의 요지가, 프로그램을 그냥 실행하면 A함수가 실행되고, Y키를 누른 상태에서 실행하는 B함수가 실행되는 것을
: : : 원하는 건가요?
: : :
: : :
: : : 김영진 님이 쓰신 글 :
: : : : 박우성님 우선 답변 감사 합니다.
: : : :
: : : : 우성님이 주신 것으로 해도 결과는 여전히 같습니다.
: : : : 주신 코드는 exe 화일이 뜨고 난 뒤에 폼에서는 잘 동작 합니다.
: : : : 그러나 exe 화일을 떠블 클릭 할 때는 여전히 아무런 반응도 나타 내고 있지 않습니다.
: : : : 다른 방법이 있는지 염치 불구 하고 부탁 드리겠습니다.
: : : :
: : : : 다시 한번 글 남겨 주셔서 감사 합니다.
: : : :
: : : :
: : : : 박우성 님이 쓰신 글 :
: : : : :
	if( Msg.message == WM_LBUTTONDBLCLK ){ //더블클릭 이벤트
: : : : : 		if( GetKeyState( 'Y' ) & 0x8000 ){  //'Y'키가 눌러 졌는지
: : : : : 			MessageBoxA( NULL, "B 함수 실행", "테스트", 0 );
: : : : : 		}else{
: : : : : 			MessageBoxA( NULL, "A 함수 실행", "테스트", 0 );
: : : : : 		}
: : : : : 	}
: : : : : 

: : : : :
: : : : : 김영진 님이 쓰신 글 :
: : : : : : 안녕하세요. 빌더를 시작 한지 얼마 되지 않은 초보 입니다.
: : : : : :
: : : : : : 제가 하려는 것은 간단하게 실행 화일을 만들고
: : : : : : 실행을 화일을 다른 어플리케이션 처럼 떠블 클릭 했을 때에 A 함수 실행 시키려고 하고,
: : : : : : 키보드 'Y' 을 누른 상태에서 실행화일을 떠블 클릭 했을 때에는 B 함수를 실행 하려고 합니다.
: : : : : :
: : : : : : Application OnMessage 에서
: : : : : : if (Msg.wParam == 'Y') {
: : : : : :   //B 함수 실행
: : : : : : }
: : : : : : 위와 같이 하고 엔터키(키보드)를 쳤을 때는 동작 하는 것 같습니다.
: : : : : :
: : : : : : 그런데 마우스를 떠블 클릭 해서 실행 하면 동작 하지 않습니다.
: : : : : :
: : : : : : 선배님들의 조언 좀 부탁 드립니다.
: : : : : :
: : : : : : 감사 합니다.

+ -

관련 글 리스트
70074 마우스 더블 클릭 이벤트 질문 김영진 2388 2013/09/04
70076     Re:마우스 더블 클릭 이벤트 질문 박우성 4003 2013/09/04
70077         Re:Re:마우스 더블 클릭 이벤트 질문 김영진 7259 2013/09/04
70078             Re:Re:Re:마우스 더블 클릭 이벤트 질문 박우성 4868 2013/09/04
70079                 Re:Re:Re:Re:마우스 더블 클릭 이벤트 질문 김영진 4820 2013/09/04
70080                     Re:Re:Re:Re:Re:마우스 더블 클릭 이벤트 질문 박우성 3978 2013/09/04
70082                         Re:Re:Re:Re:Re:Re:마우스 더블 클릭 이벤트 질문 김영진 2476 2013/09/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.