起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 514|回复: 9

【搞定】怎么达到统一禁用所有TDataGrid右键菜单中的"导出功能"

[复制链接]
发表于 2007-1-12 10:56:33 | 显示全部楼层 |阅读模式
怎么达到统一禁用所有TDataGrid右键菜单中的"导出功能"子菜单,同时保留其它子菜单。

我们现在的所有TFORM都是从统一的自定义的TBaseForm继承,我的想法是在这里拦
拦截表单文档上TDataGrid右键消息,请教该如何实现?或者提供别的方法。谢谢。


A。表单文档,本来没有WNDPROC我想是不能处理消息的,所以才想到在TFORM中处理。
B。另,又不能修改TDataGrid,所以,这个也没法处理了吧。
C。不知道可不可以在TFUNC可处理,这个还没来得急尝试。

d.在delphi下可以定义
procedure WMRButtonUp(var Message: TWMRButtonUp); message WM_RBUTTONUP;
来处理,在X3中好像不行。
回复

使用道具 举报

 楼主| 发表于 2007-1-12 11:04:37 | 显示全部楼层
procedure DefaultHandler(Message: TObject); virtual;
这个能用否?
回复 支持 反对

使用道具 举报

发表于 2007-1-12 11:37:16 | 显示全部楼层
关注
回复 支持 反对

使用道具 举报

发表于 2007-1-12 11:42:08 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-12 12:05:01 | 显示全部楼层
谢谢alang
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-12 12:12:42 | 显示全部楼层
2.然后找到‘业务模型\系统空间\用户界面基础\库\公共组件库\DataGrid默认菜单’,得知‘输出为(E)’的Name为pmCSaveAs;


这个我这没有呀,我版本是2323
回复 支持 反对

使用道具 举报

发表于 2007-1-12 13:39:19 | 显示全部楼层
这个是后来(从2611)才公布出来的,
我们已经给何总监发送新版本和升级包,请向他所取吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-12 14:16:34 | 显示全部楼层
是否2323上加入上述代码无效呢?我测试了一下貌似不行。

to:atiger 多谢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-12 14:22:24 | 显示全部楼层
procedure TMainForm.DataGrid1PopupMenu(const Sender: TPopupMenu; var UseDefault, Handled: Boolean);
var
  I: integer;
begin
  UseDefault := true;
  for I := 0 to Sender.Items.Count - 1 do
  begin
    Dialogs.ShowMessage(Sender.Items[I].Name);
    //if sysUtils.SameText(Sender.Items[I].Name, 'pmCSaveAs') then
    //begin
    //  Sender.Items[I].Visible := false;
    //  break;
    //end;
  end;
end;
取到的都是空名称
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-12 14:24:57 | 显示全部楼层
如果没办法,我暂时用caption吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 10:27 , Processed in 0.038415 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表