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
[69390] PopupMenu의 좌표값 기준 설정하기(?)
압9정 [] 2087 읽음    2013-04-24 20:54
질문 제목이 좀 이상하네요...ㄷ

TreeNode에서 Node에서 마우스 오른쪽을 클릭하면 PopupMenu1->Popup(X, Y); 을 하여 클릭한 위치에서 Popup을 띄우고 싶습

니다. 지금 밑에 있는 코드로 실행하면 X와 Y의 값은 TreeView가 기준이지만 Popup(X, Y) 함수에서 적용되는  X, Y값은 기준이 윈

도우가 되서 첨부한 사진처럼 Popup이 뜹니다. (이해가 가실련지...)

제가 하고 싶은 것은 PopupMenu1->Popup(X, Y); 함수에서 적용되는 X, Y값을 TreeView 기준으로 하는 것 입니다.

지금 만약 X = 10, Y = 10 이라면 클릭된 위치는 TreeView(0,0) 에서 X 축으로 10, Y 축으로 10 간 것인데,

PopupMenu1->Popup(X, Y); 함수는 윈도우 모니터 (0,0)을 기준으로 X축으로 10, Y축으로 10만큼 움직인 위치에 Popup창이 띄워

지는 것이 문제입니다. 이것을 PopupMenu1->Popup(X, Y); 함수도 TreeView(0,0) 에서 X 축으로 10, Y 축으로 10 간 위치에서 Po

pup창을 띄우고 싶습니다. (이해하셧기를 바랍니다.ㅠㅠ)

결론은 PopupMenu1->Popup(X, Y); 함수가 TreeView(0,0) 에서 부터 X축. Y축 만큼 이동한 위치에서 Popup창을 띄워줬으면 합

니다. 방법을 아시거나 도움되는 말씀도 괜찬습니다. 부디 지식을 나누어 주세요.ㅜ

void __fastcall TfrmMain::TreeView1MouseDown(TObject *Sender, TMouseButton Button,
		  TShiftState Shift, int X, int Y)
{
	int i;

	if ( Button == mbRight )
	{
		TTreeNode* pNode  = TreeView1->GetNodeAt(X, Y);

		if(pNode)
		{
			if(pNode->Parent)
			{
				TreeView1->Selected = pNode;
				PopupMenu1->Popup(X, Y);
			}
		}
	}
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
69390 PopupMenu의 좌표값 기준 설정하기(?) 압9정 2087 2013/04/24
69396     Re:PopupMenu의 좌표값 기준 설정하기(?) 장성호 2146 2013/04/25
69398         Re:Re:PopupMenu의 좌표값 기준 설정하기(?) 압9정 1855 2013/04/25
69400             Re:Re:Re:PopupMenu의 좌표값 기준 설정하기(?) 장성호 2688 2013/04/25
69408                 Re:Re:Re:Re:흑흑 감사합니다.(냉무) 압9정 1720 2013/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.