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
[23058] [질문]꼭좀 도와주세요......TreeView
권혁준 [khyukj] 887 읽음    2002-12-06 11:40
폼에 있는 뉴그룹버튼을 클릭하면  
void __fastcall TForm1::NewGroupClick(TObject *Sender)  
{  
   TTreeNode *TempNode;  
   TTreeView *RadioView; 
   ...............  

//새로운 노드를 만들고 ( ccc ) 

   TempNode = RadioView->Items->AddChild(RadioView->Selected, "");  
   GroupNodeJustAdded(TempNode);  
   .......................  

}  

aaa 

+bbb 
   | 
   +ccc 

void TForm1::GroupNodeJustAdded(TTreeNode *NewNode)  
{  
if (NewNode->Parent) { 
      NewNode->Parent->Expand(false); 
      }     
   NewNode->ImageIndex = 0; 
   NewNode->SelectedIndex = 1; 
   NewNode->StateIndex = -1; 
   NewNode->EditText(); //그 노드(ccc)를 에디트모드로 만들게 했습니다.  


// 검사는 이곳에서 하려 합니다 
void __fastcall TForm1::RadioViewEdited(TObject *Sender, TTreeNode *Node, 
      AnsiString &S) 

   if ( S.IsEmpty() ) // ccc가 비었을때 
        { 
            MessageDlg("Please Type Group Name", mtError,TMsgDlgButtons() << mbOK, 0); 
            Node->EditText();// 안되네요... 
            //Node->Delete();아예 지워버릴려고 해도 access violation 나네요
        }     


제가 하고 싶은것은 아무것도 입력되지 않으면 새로운 노드가 안생기게 하려고 합니다..  
아무것도 입력되지 않았을때 트리뷰를 빠져나간다거나 뉴그룹버튼을 누르면..  
아무것도 입력되지 않은 노드에 포커스를 주었음 합니다 에디트상태로...
그런데 OnEdited()는 수정이 되었을때만 호출되어지는군요....
그럼 수정안한 상태로 다른 동작을 하면....호출이 안되는건데..
이러면 안되거든요.....1. 무조건 수정이 되게 하려면....  
어떻게 해야 할까요?...

2. 검색해보니 OnEdited()에서는 EditText()가 안된다고 하네요,,
그럼 어떻게 하지요?

부탁합니다...고수님들

+ -

관련 글 리스트
23058 [질문]꼭좀 도와주세요......TreeView 권혁준 887 2002/12/06
23063     Re:[질문]꼭좀 도와주세요......TreeView 유영인.Chris 914 2002/12/06
23068         Re:Re:감사합니다 권혁준 525 2002/12/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.