实现的功能:
就是为了方便实现表中的数据 的复制 和粘贴(在同一个表中进行)!
具体功能; 1:分行复制 〉单行 复制 然后可以插入 和添加
2:跳跃行复制 >选择多行,但是,不是连续的行
3:连续行复制 >选择多行,是连续的行
分行:。。
4:分列复制 〉单列 复制 然后可以插入 和添加
5:跳跃列复制 >选择多列,但是,不是连续的列
6:连续行复制 >选择多列,是连续的列
分列复制,确定所选择的是那几列是关键?(不太清楚) 7: 选择一块(矩形的块) ,也要能复制.还有这些复制粘贴的功能是用右键菜单来显现的,我是动态创建的菜单,你认为用静态的好,还是动态的好呢,我只想在EHLIB3.5中添加一点代码,不想在添加控件,免得使用的时候还要为DBGRIDEH,专门拖一个PopupMenu专用.还有一个问题:在一个局部过程中我创建了PoPupMenu 和PopupItem 没有释放,过程执行完之后,是不是自己会自动释放呀?因为,他是对象,不过也是变量,应该会自动被释放掉的.============================================
如果你看到了,有什么想法,希望能留下,谢谢哦
就是为了方便实现表中的数据 的复制 和粘贴(在同一个表中进行)!
具体功能; 1:分行复制 〉单行 复制 然后可以插入 和添加
2:跳跃行复制 >选择多行,但是,不是连续的行
3:连续行复制 >选择多行,是连续的行
分行:。。
4:分列复制 〉单列 复制 然后可以插入 和添加
5:跳跃列复制 >选择多列,但是,不是连续的列
6:连续行复制 >选择多列,是连续的列
分列复制,确定所选择的是那几列是关键?(不太清楚) 7: 选择一块(矩形的块) ,也要能复制.还有这些复制粘贴的功能是用右键菜单来显现的,我是动态创建的菜单,你认为用静态的好,还是动态的好呢,我只想在EHLIB3.5中添加一点代码,不想在添加控件,免得使用的时候还要为DBGRIDEH,专门拖一个PopupMenu专用.还有一个问题:在一个局部过程中我创建了PoPupMenu 和PopupItem 没有释放,过程执行完之后,是不是自己会自动释放呀?因为,他是对象,不过也是变量,应该会自动被释放掉的.============================================
如果你看到了,有什么想法,希望能留下,谢谢哦
Shift: TShiftState; X, Y: Integer);
var
MouseP:Tpoint;
PopupMenu: TPopupMenu;
N: array of TMenuItem;
i:integer;
begin
if Button=mbRight then
begin
PoPupMenu:=TpopupMenu.Create(Sender as TcomPonent);
setLength(N,2);
for i:=low(N) to high(N) do
begin
N[i]:=TmenuItem.Create(PoPupMenu);
case i of
0:begin
N[i].Caption:='复制';
N[i].OnClick:=FirstClick; //自定义
end;
1:begin
N[i].Caption:='粘贴';
N[i].OnClick:=LastClick; // 自定义
end;
end;
end;
try
PoPupMenu.Items.Add(N);
GetCursorPos(MouseP);
Popupmenu.Popup(MouseP.X,MouseP.Y);
finally
{//
PoPupMenu.Items.clear;
PoPupMenu.Free;
for i:=low(N) to high(N) do
N[i].Free;
}// 去掉这部分代码,会浪费内存吗? 但是不去掉程序还没有执行呢,就报错了,我认为是删除菜单太早了.
end;
end;
end;
这样会浪费内存吗? ==================================================================
再一个总是就是,如何得到DBGRID中选择的列 ()