|
폼에 있는 뉴그룹버튼을 클릭하면
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()에서는 EditText()가 안된다고 하네요,,
그럼 어떻게 하지요?
|