原listview为
111111
222222
333333
444444
555555
用鼠标左键托运后,变为
111111
222222 444444
333333
555555
也就是说把444444的变成了222222的子项(最好有代码,正确的一定加分)
111111
222222
333333
444444
555555
用鼠标左键托运后,变为
111111
222222 444444
333333
555555
也就是说把444444的变成了222222的子项(最好有代码,正确的一定加分)
stringgrid1.MouseToCell();可以把一个X,Y坐标定位到单元格.
说实话,不太明白你的意思,没表述清楚
LISTVIEW表中即有商品类别,也有商品名称,需要在同一LISTVIEW中打开下一层的窗体,并显示下一层的商品类别和商品名称!!
(说来说去, 有点表达不清,如果用过管家婆就熟悉点了)大家还是帮我想想吧,谢谢!
只要能把选中的项目托到另外一个的子项目下,也就成功了
var
ANode, NextNode : TTreeNode;
Owner : TTreeView;
SLevel, DLevel :Integer;
begin
Owner := DNode.TreeView as TTreeView;
with Owner do
begin
if not DNode.HasAsParent(SNode) then
begin
try
try
Items.BeginUpdate;
NextNode:=Items.AddChild(DNode,SNode.Text);
NextNode.Assign(SNode);
ANode:=SNode.GetNext;
SLevel:=SNode.Level;
DLevel:=DNode.Level + 1; while ANode.Level>SNode.Level do
begin
if(ANode.Level-SLevel)=(NextNode.Level-DLevel)then
begin
NextNode:=Items.AddChild(NextNode.Parent,
ANode.Text);
NextNode.Assign(ANode);
end
else if(ANode.Level-SLevel)>
(NextNode.Level-DLevel) then
begin
NextNode:=Items.AddChild(NextNode,ANode.Text);
NextNode.Assign(ANode);
end
else if(ANode.Level-SLevel)<
(NextNode.Level-DLevel)then
begin
while(NextNode.Level-DLevel)>
(ANode.Level-SLevel)do
NextNode := NextNode.Parent;
NextNode:=
Items.AddChild(NextNode.Parent,ANode.Text);
NextNode.Assign(ANode);
end;
ANode := ANode.GetNext;
if not Assigned(ANode) then Break;
Application.ProcessMessages;
end; finally
Items.EndUpdate;
end;
except
// force repaint on exception
(Owner as TWinControl).Invalidate;
raise;
end;
end
else
Application.MessageBox('不能copy到子节点', '错误',
MB_OK + MB_DEFBUTTON1);
end;
end;
用时procedure TMainForm.TreeViewDragDrop(Sender, Source: TObject; X,
Y: Integer);
var
tSrcNode ,tDesNode: TTreeNode;
tSrcID ,tDesID: Integer;
sSql: String ;
lSrcItem: TListItem;
begin
tSrcID := 0 ;tDesID := 0;
tDesNode := TTreeview(Sender).GetNodeAt(X,Y);
if Source is TTreeview then
begin
tSrcNode := TTreeview(Source).Selected;
if btnMode.Down then
tSrcNode.Moveto(tDesNode, naInsert)
else
tSrcNode.MoveTo(tDesNode, naAddChild);
end
end;
有鬼呀~~~~!!!!!!