Delphi2007 pack3中复制和粘贴没有了,怎么回事?怎么用呀?

jiaxianglei 2007-10-07 04:52:59
Delphi2007 pack3中Edit和Memo控件中没有右键了,无法选择复制和粘贴,是不是需要自定义复制和粘贴?如何定义?
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
szjung 2008-02-25
  • 打赏
  • 举报
回复
DelphiGuy 你太伟大的,这个问题我找了很久了,在没答案我就要放弃2007刷回2006了。
在搜到你的答案后,我专程注册进了这个论坛,给你道声:谢谢!!!
jiaxianglei 2007-10-09
  • 打赏
  • 举报
回复
谢谢各位,接分
  • 打赏
  • 举报
回复
这个问题本来是没有的,是为了解决一个窗口控制嵌套层次过多的情况下上下文菜单弹出迟钝的问题,
见 http://qc.codegear.com/wc/qcmain.aspx?d=42752
CodeGear在没有完整测试的情况下就采用了提交者Peter Below的修正办法,将if Result < > 0 then Exit;这句改成了Exit;
结果就造成了这个默认的上下文菜单弹不出来的新BUG。
最简单的修正方法就是改回原样,只是QC 42752的问题没有解决(一般情况下感觉不到)。
这个问题应该是Andreas Hausladen最早发现的,他有一个补丁,在:
http://andy.jgknet.de/blog/archives/69-Inofficial-RAD-Studio-patch.html

还有,jiaxianglei你应该把改过的.pas/.dcu放在D:\Program Files\CodeGear\RAD Studio\5.0\Lib下呀,
D:\Program Files\Borland\BDS\4.0\Lib是BDS 2006的。
ly_liuyang 2007-10-08
  • 打赏
  • 举报
回复
俺该了的,一切正常,呵呵,LS的难道是RPWT?
jiaxianglei 2007-10-08
  • 打赏
  • 举报
回复
lzf1010
我改了,可是没有用。
D:\Program Files\CnPack\CnWizards\PSDecl
D:\Program Files\CodeGear\RAD Studio\5.0\source\Win32\vcl
这两个目录下都有Controls.pas
我改哪个都不行。
拷贝到Lib目录,D:\Program Files\Borland\BDS\4.0这个目录下有Lib,可是拷过去也没有用。
深宇 2007-10-07
  • 打赏
  • 举报
回复
解决delphi2007 for win 和CB2007的TEdit等组件右键菜单没有的问题,只要修改源码Controls.pas中第7319行改为if Result < > 0 then Exit;
,并将修改后的Controls.pas拷贝到Lib目录就可以了。delphi for .net暂时无办法解决。

procedure TWinControl.DefaultHandler(var Message);
begin
if FHandle < > 0 then
begin
with TMessage(Message) do
begin
if (Msg = WM_CONTEXTMENU) and (Parent < > nil) then
begin
Result := Parent.Perform(Msg, WParam, LParam);
// Exit;//将此行的Exit改为if Result < > 0 then Exit;
if Result < > 0 then Exit;
end;
xinyu7737 2007-10-07
  • 打赏
  • 举报
回复
UP
jiaxianglei 2007-10-07
  • 打赏
  • 举报
回复
如果是自定义的话,如何知道弹出菜单是由哪个控件调用的呢?
jiaxianglei 2007-10-07
  • 打赏
  • 举报
回复
自定义是不是太麻烦?能不能调用系统自带的Popup右键弹出功能?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧