|
안녕하세요! 매직 입니다.
오늘만 벌써 2번째 질문을 올리고 있습니다.ㅡ_ㅡ
TreeView에서 오른쪽 버튼으로 선택하고 선택된 노드별로 팝업 메뉴가
다르게 나오게 하려고 합니다.
일단, 왼쪽버튼은 완전히 없다고 가정합니다. 왼쪽 버튼은 선택도 할 수 없습니다.
그런데, 좀 어렵네요~~~ 먼가 있을텐데 잘 안되요..
ImageIndex로 비교를 해서 하려고 합니다.
여기서 이상한 것은 오른쪽 버튼으로 선택하며 바로 ImageIndex값이
바뀌지 않는다는 거에요..왼쪽 버튼을 클릭한후 오른쪽 버튼을
클릭하면 이미지 값이 바뀌어 있구요, 오른쪽 버튼으로
다른 노드를 선택하면 바로 이전에 선택한
노드의 ImageIndex 값이 나옵니다. 그래서 노드를 선택하면 바로 지정할 수
있게 SelectedIndex라는 놈으로 했는데도, 똑같이 됩니다.
그렇다고 Node로 비교 하기에도 좀 애매 하거든요.
소스 올립니다. 좋은 방법이 없는지요?
참고! MouseDown 이벤트에 두었습니다. - MSN과 탐색같은 것은 그렇게 처리가 됩니다.
//--------------------------------------------------------------------------
if ( Button == mbRight )
{
if (tvFriend->Selected != NULL)
{
int test = tvFriend->Selected->SelectedIndex;
if (test == 2)
{
TTreeNode* pNode = tvFriend->GetNodeAt(X, Y);
if(pNode)
{
tvFriend->Selected = pNode;
tvFriend->PopupMenu = PopupFolder;
}
}
else
{
TTreeNode* pNode = tvFriend->GetNodeAt(X, Y);
if(pNode)
{
tvFriend->Selected = pNode;
tvFriend->PopupMenu = PopupTree;
}
}
}
}
//--------------------------------------------------------------------------
감사합니다.
|