这个消息过程为何不触发?(50分)

  • 主题发起人 主题发起人 ccweifen
  • 开始时间 开始时间
C

ccweifen

Unregistered / Unconfirmed
GUEST, unregistred user!
private
procedure WMCOPY(var Msg:TMessage);Message WM_COPY ;

implementation
procedure TForm1.WMCOPY(var Msg:TMessage);
Begin
showmessage('A Copy Event ');
end;
现在我在Form1上的Edit1中copy文本,为何不触发WMCOPY过程?
按理说copy的时候不是要向系统发送WM_COPY消息吗?
 
如果有WM_COPY也是edit接收到,而不是form接收到
而且还不一定有,因为他不是通知消息,而是别人要他做什么的消息
 
如果有WM_COPY也是edit接收到,而不是form接收到
而且还不一定有,因为他不是通知消息,而是别人要他做什么的消息
我的意思是说,WM_COPY并不是触发的消息,他是用来,给别人发一个这样的消息让人家copy的
如果是输入了ctrl+c,他自己会拷贝内容去剪贴板,用不着别人用WM_COPY来叫它拷贝
所以我的看法,ctrl+c不会发送wm_copy给edit
 
同意Pipi.
因为Form根本就收不到这个消息,不然你加一个Button,然后在Button.Onclick写
SendMessage(Handle, WM_COPY, 0, 0);
运行试试就知道,这个消息过程是能触发的。
 
如果我在应用程序中用CTRL+C来做copy动作,windows不发送WM_COPY消息吗?
 
该消息的接收者应为EDIT控件!而不是FORM控件.
 
明白了,谢谢三位。
 
后退
顶部