|
박지훈.임프 님이 쓰신 글 :
: 임펠리테리입니다.
:
: 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() 를 하면 글자가 싹 없어지기만 하고 수정할 수 있는 효과는 나지가 않더군요... 뭔가가 잘못된건가..? 죄송하지만 다시 한번만 답변을.... 감사합니다.
참고로 새폴더를 만들면서 바로 이름을 Edit모드로 가는 것은 TreeView1->Selected->EditText(); 형태로 가능했었습니다. 위의 구문은 OnEdited 이벤트에서 구문을 적어 준 것입니다..
가령 사용자가 에디트 모드에서 글자를 치고 나서 중복 데이터 혹은 아무 것도 적지 않고 공백을 입력하는 경우를 체크하기 위한 구문입니다.. 현재 위의 것은 공백 체크용이구요... 그럼 감사합니다..
|