在TCONTROL 中有WndProc方法,在子类中继承!任何消息都的到此一游!

解决方案 »

  1.   

    看你截什么样的消息了。
    如果在应用程序消息队列中的话,就 放个TapplicationEvents控件,
    在onmessage中写就行了。最后在handled:=true;就是屏蔽了。
    如果是直接发给窗体的消息。则要在实现一个消息处理过程。
     例:
      procedure wmmove(msg:Tmessage);message wm_move;procedure wmmove(msg:Tmessage);
    begin
      //处理。
      msg.result:=true;//屏蔽
    end;以上可能有不对的地方,我这里没有DELPHI,不能帮你查。
    你看看帮助和消息处理的资料把。
      

  2.   

    TForm的KeyPreview属性可以先过滤发向控件的按键消息,我想你是指这个吧,其他的消息你就得重载缺省的响应函数了
      

  3.   

    怎样自己编写一个消息处理程序
    或 重载缺省的响应函数了 
     在wndproc 中又怎样屏蔽消息
    谢谢
      

  4.   

    主要是procedure xxx(var msg:TMessage);message 要拦截的消息
    message 要拦截的消息可省略要屏蔽,只要对msg.result进行操作即可
      

  5.   

    最简单的方法是消息的重载:
    声明:  Procedure WinFocus(var msg:Tmessage);Message WM_ACTIVATE;
    实现:
    Procedure Tfrmcfg.WinFocus(var msg:Tmessage);
    begin
      if GetFocus<>handle then BringWindowToTop(handle);
    end;
      

  6.   

    谢谢上面的朋友
    那么怎样对msg.result进行操作
    给一个True 吗
      

  7.   

    porocedure WndProc(Amsg:TMessage);vorride;
    porocedure WndProc(Amsg:TMessage);
    begin
      if Amsg.msg=WM_KEYDOWN then exit;
      inherrited WndProc(Amsg); 
    end;
      

  8.   


    比如说, 要防止窗体变大,如何通过消息处理把这个消息截获,并且屏蔽掉还有,怎样做一个控件由 Tedit继承下来,并使该控件接受回车键消息时,能转换为Tab键消息谢谢大家的关注