const
mousemsg=wm_user+1;private
//自定义消息处理函数,处理鼠标点击图标事件
procedure mousemessage(var message: tmessage); message mousemsg;
public上面一段的是有关系统栏图标增加的程序中的前面的声明
procedure mousemessage(var message: tmessage); message mousemsg;
就是不理解这个是什么意思 尤其是后面的这句message mousemsg;
mousemsg=wm_user+1;private
//自定义消息处理函数,处理鼠标点击图标事件
procedure mousemessage(var message: tmessage); message mousemsg;
public上面一段的是有关系统栏图标增加的程序中的前面的声明
procedure mousemessage(var message: tmessage); message mousemsg;
就是不理解这个是什么意思 尤其是后面的这句message mousemsg;
mousemsg=wm_user+1;
-----------
声明一个用户自定义消息ID号procedure mousemessage(var message: tmessage); message mousemsg;告诉Delphi投递过来的消息mousemsg交由mousemessage这个过程来处理.
var
ntida:TNotifyIcondataA;ntida.uCallbackMessage:=mousemsg;
这是后面用到的消息处理 为什么不能直接把过程名赋给uCallbackmessageprocedure mousemessage(var message: tmessage); message mousemsg;
这里的message mousemsg;是不是也是过程说明的一部分啊 不明白的就是mousemsg是一个const
为什么前面还要加个message
procedure mousemessage(var message: tmessage); message mousemsg;这句是典型的Delphi拦截API消息的处理过程,在C中消息拦截时用case来实现的,Delphi对它进行了封装,就像上面那样
inherited作用同字面