|
OnEdited 이벤트를 이용하시면 됩니다.
OnEdited 이벤트는 탐색기와 같이 이름을 클릭이나 F2를 눌러서 바꿨을때 발생합니다.
OnEdited 의 S 는 바뀐 이름입니다. 일단 방법을 간단히 설명해 드리면..
1. 현재의 절대의 경로명을 구합니다. 인자 Node 는, 변경된 Node를 뜻하고, Node->Parent는 그의 부모를 뜻합니다. while 문으로, Parent 가 없을때까지 계속 경로를 추적하다보면, 자신의 절대 경로를 알 수 있겠죠? 이런 식으로 해서 C:\Program files\Borland\C Builder 이런식으로 절대 경로를 구해 놓습니다.
2. 현재의 바로 상위 부모를 구해 놓습니다. 위 방법과 마찬가지로 구하시면 됩니다.
3. 아래의 명령어로 rename 합니다.
rename([현재경로], [부모경로] + "\\" + S.c_str());
이런식으로 하시면, 폴더 이름이 변경됩니다. 주의하실점은, rename은 모두 절대경로를 써주어야 한다는 점입니다. 그렇지 않고 만약, 부모경로를 생략한다면 현재경로를 이름을 바뀐채로 현재 이 프로그램을 실행하는 디렉토리로 move 시켜 버립니다.
barralm P SeungHun 님이 쓰신 글 :
: 트리뷰에서 폴더의 이름을 바꿀때 호출되는 함수가 있나요? 없다면 어떻게 처리를 해야될지 가르쳐주세요~
|