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
[3353] Re:안녕하세요... 멜로 질문을 드렸는데 상당히 급해요..(TreeView)
임문환 [] 3643 읽음    2000-04-18 00:00
ghost 님이 쓰신 글 :
: TreeView에 관한 질문을 하나 올리까 합니다.
: 제가 TreeView에서 생성하고 지우고 자식 아이템까지 생성하는 것을 성공했는데.. 문제가 발생했어요.
: 오른쪽 마우스로 클릭을 해서  클릭한 폴더 밑에 바로 생성되어야 하거든요.
: 그런데 잘 안되네요.
: 하지만, 오른쪽 버튼클릭은 됩니다.->이게 마우스를 뜻하는것은 아시죠?^^"
: (RightClickSelect이 properties로  true로 해서) 성공이 되었는데 이 망할 것이 오른쪽 버튼을 클릭을 해서 생성을 하면(Add)로 하면 오른쪽 버튼을 클릭한 자릴 인식하지 못하고 처음 클릭한 폴더 맨 밑으로 생성이 된답니다. (만일 Add가 아닌 Insert로 한면 폴더 바로 위에 생성된답니다.)
: project를 낼 까정 끝내야하는데.... 제발 좀 도와주세요..
: 답변 기다릴께용!!!
: 만일 답을 주신 분은 저도 소스하나 올릴께요...



안녕하십니까?
임문환입니다.
제가 답변해도 되는지 잘 모르겠지만...


찾고 계신 작업 목적에 부합하는 것인지 잘 모르겠지만
아래 방법은 어떨까요?
아래에서는 현재 노드를 알아내는 메서드와 그 것을 이용하는 메서드가 서로 다른데
만약 실제 작업 시 새 노드를 생성하는 메서드가 마우스 커서의 좌표를 자동으로
매개 변수로 전달받는 곳이라면 아래의 TreeView1MouseDown이 필요 없고 그 내부의
CurrentNode=TreeView1->GetNodeAt(X,Y);는
새 노드를 생성하는 메서드(이 예에서는 AddNewNode)에 통합 가능합니다.

//------------------------------------------------------------------------------------------
class TForm1 : public TForm
{
TTreeNode *CurrentNode;
  void __fastcall AddNewNode(AnsiString text);
}
//------------------------------------------------------------------------------------------
void __fastcall TForm1::TreeView1MouseDown(TObject *Sender, TMouseButton Button,
    TShiftState Shift, int X, int Y)
{
  if(Button==mbRight) CurrentNode=TreeView1->GetNodeAt(X,Y);
}
//------------------------------------------------------------------------------------------
void __fastcall TForm1::AddNewNode(AnsiString text)
{
if(CurrentNode==NULL)
return;
else
{
  TreeView1->Items->AddChild(CurrentNode,text );
  CurrentNode=NULL;
}
}
//------------------------------------------------------------------------------------------
끝.

+ -

관련 글 리스트
3348 안녕하세요... 멜로 질문을 드렸는데 상당히 급해요..(TreeView) ghost 3494 2000/04/17
3353     Re:안녕하세요... 멜로 질문을 드렸는데 상당히 급해요..(TreeView) 임문환 3643 2000/04/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.