|

楼主 |
发表于 2008-6-16 14:32:55
|
显示全部楼层
图1是通过代码来的。
procedure TLBCX.DataGrid1PopupMenu(const Sender: TPopupMenu; var UseDefault, Handled: Boolean);
var
NDeal,NBreak1,NDetail,NBreak2: TMenuItem;
i: integer;
begin
if DataSetBroker1.DataSet.RecordCount <> 0 then
begin
if not (Sender.Items.Items[0].Caption = '处理(&D)') then
begin
NDeal:= TMenuItem.Create(self);
NBreak1:= TMenuItem.Create(self);
NDetail:= TMenuItem.Create(self);
NBreak2:= TMenuItem.Create(self);
NDeal.Caption:= '处理(&D)';
NBreak1.Caption:= '-';
NDetail.Caption:= '详细(&V)';
NBreak2.Caption:= '-';
Sender.Items.Insert(0,NBreak2);
Sender.Items.Insert(0,NDetail);
Sender.Items.Insert(0,NBreak1);
Sender.Items.Insert(0,NDeal);
NDetail.OnClick:= ShowDetail;
NDeal.OnClick:= RunProcFunc;
end;
if NeedProcess then
Sender.Items.Items[0].Enabled:= True
else
Sender.Items.Items[0].Enabled:= False;
end
else
begin
if Sender.Items.Items[0].Caption = '处理(&D)' then
for i:=1 to 4 do
Sender.Items.Delete[0];
end;
UseDefault:= True;
end;
其他的datagrid都是默认的,没改 |
|