Drag Drop von TListBox nach TTreeView
-
Hallo ihr,
Ich wuerde gerne, das ich ein TListBoxItem auf eine TTreeNode per drag and drop ziehen kann. und dann den string von beiden auswerten kann.meine version hat den fehler, das natuerlich die Selected TreeNode verwendet wird. und nicht. die wo das drop passiert.
danke
void __fastcall TmainWin::treeDragDrop(TObject *Sender, TObject *Source, int X, int Y) { if (Source->ClassNameIs("TListBox") && Sender->ClassNameIs("TTreeView")) { try { TListBox *lb = (TListBox *) Source; AnsiString elementText = lb->Items->Strings[lb->ItemIndex]; AnsiString str = elementText.SubString(0,2); AnsiString id = elementText.SubString(4,elementText.Pos(":")-4); TTreeView *tv = (TTreeView *) Sender; TTreeNode *node = tv->Selected; AnsiString tvstr = node->Text.SubString(0,2); AnsiString tvid = node->Text.SubString(4,node->Text.Pos(":")-4); Application->MessageBox(AnsiString("SRC:"+str+":"+id+"\nDES:"+tvstr+":"+tvid).c_str(),"Node", MB_OK ); } catch (...) { } } else if (Source->ClassNameIs("TTreeView") && Sender->ClassNameIs("TTreeView")) { } }
-
schon gefunden

TTreeNode *node = tv->GetNodeAt(X,Y) ;oder gibts noch eine bessere idee