|
임펠리테리입니다.
바쁜 와중에 급하게 쓰다보니.. 보여주신 소스를 자세히 안봤네요. 죄송합니다.
그런데.. 질문이 좀 애매한데요.
원하는 결과가, 팝업메뉴에서 한 아이템을 클릭하면 선택된 노드가 에디팅 상태로 되도록 하려는 것이지요?
그렇다면 OnEdited 이벤트를 써서는 안됩니다. 이 이벤트는, 단지 에디팅이 끝나기 직전에 발생하는 이벤트입니다.
이 OnEdited 이벤트에서 EditText()를 하는 것은 아무 의미도 없겠지요?
팝업메뉴 아이템을 클릭하면 에디팅 모드로 들어가도록 하려면, 단지 그 아이템의 OnClick 이벤트에 TreeView1->Selected->EditText(); 라고 해주면 되지요.
그럼 이만...
왕초보 님이 쓰신 글 :
: 박지훈.임프 님이 쓰신 글 :
: : 임펠리테리입니다.
: :
: : TTreeNode의 메소드인 EditText()를 쓰면 간단히 됩니다.
: : 트리노드를 에디트모드로 바꾸어주는 메소드죠.
: : TreeView1->Selected->EditText();
: :
: : 그럼 참고하시길...
: :
: :
: : 왕초보 님이 쓰신 글 :
: : : 안녕하세요..
: : : 탐색기에서 보면.. Node를 두번 천천히 클릭을 하면 folder명이라던지 file명을 바꿀수 있도록 editing 모드로 바뀌잖아요... builder TreeView에서도 property조작에 의해서 하면 되긴 되는데..
: : : 소스 코드 상에서 그럼 효과를 줄 수 없는지...
: : :
: : : 그러니까.. 만약에 하나의 Node를 클릭하여 Pop창이 뜨면 "이름 바꾸기" 등을 클릭하여 이름을 바꾸려고 하는 것이거든요... 어떻게 하면 그것이 가능할까요..?
: : :
: : : void __fastcall TNameCard_Form::tvGroupEdited(TObject *Sender,
: : : TTreeNode *Node, AnsiString &S)
: : : {
: : : int result;
: : :
: : : if( S == "" ) {
: : : Application->MessageBoxA( "Group명을 입력해 주세요.", "그룹명 입력", MB_ICONWARNING+MB_OK );
: : : S = "새로 만든 그룹";
: : : Node->
: : : // Node->Expand( true );
: : : // Node->EditText();
: : : return;
: : : }
: : : }
: : :
: : : 위의 구문에서 주석을 처리한 부분을 주석 해제하여도 그런 효과는 나지가 않는군요.. 좀 도와주세요..
: : : 감사합니다..
: : :
:
: 이궁 소스에서 그부분이 있는데... 주석을 해제 하여도 안된다고 얘기를 했었는뎅... ㅡ.ㅡ;;
:
: TTreeNode* 형의 Node에서 Node->EditText() 를 하면 글자가 싹 없어지기만 하고 수정할 수 있는 효과는 나지가 않더군요... 뭔가가 잘못된건가..? 죄송하지만 다시 한번만 답변을.... 감사합니다.
|