托盘图标为什么在程序退出后还不消失?要将鼠标再次指向该图标,托盘才会刷新,图标才消失。怎样让其在退出程序时就刷新托盘?

解决方案 »

  1.   

    创建的时候是不是有内存溢出。?查一下那一块的代码吧。
    单独创建一个托盘程序看看有没有错,如果没有的话,下一步,看看是哪错了。真正的错误 ,如果是托盘的问题,说明是这段代码了,网上有很多托盘例子都不错。排除一下吧!OK!看一下这个原来的问题:
    程序退出后在任务栏中留下一个空格,点一下才消失 :
    要解决这个问题,首先得找原因,造成这个问题,是因为Form的 WindowState= wsMaximized,而且 Form的BorderIcons 中没有 biMaximize 属性。如果From的BorderStyle的属性是bsNone,只在BorderIcons中添加biMaximize还不能解决问题,必须得设置From的BorderStyle的属性不为bsNone,比如说,是bsSingel等,为此可以有以下解决办法: procedure TForm1.FormCloseQuery(Sender: TObject;var CanClose: Boolean); 
    begin 
        Form1.BorderIcons :=Form1.BorderIcons + [biMaximize]; 
        Form1.BorderStyle := bsSingle ;
    end;是不是有此类的原因呢?窗体设计的有没有问题,祝你成功了
      

  2.   

    谢谢!
    好像错误不是每次都有,在debug的时候会有,在直接运行可执行程序的时候,大多数时候没有。