各位大虾好!!!小弟最近做了一个通过TTimer实时改变托盘图标的动作,但发现在托盘图标改变的时候,主窗口图标也跟着改变了,小弟想问一下,怎样才能使窗口图标不随着托盘图标的改变而改变呢!??谢谢!!!

解决方案 »

  1.   

    不知道你怎么做托盘图标的,如果用TrayIcon控件的话,应该不会有这样的问题.
      

  2.   

    非常感谢楼上大虾的回复,小弟是按常规的办法做的(Shell_NotifyIcon),不是用的控件,也不想做什么都要用别人的。
      

  3.   

    1:可以在Timer中先创建一个TICON保存主界面的ICON,改了之后,在将ICON赋值给主界面,然后释放。
    2:并不是说“什么都用别人的”,那符合经济规律的“效率原则”,要创新的除外。
      

  4.   

    首先非常感谢楼上大虾的回复,小弟原来也是和大虾这样想的,但小弟做的这个动作TTimer每一秒钟就换一次托盘图标,要是这样的话是不是为了让主窗口的图标看起来没有变化就要每次在托盘图标改变后就换回主窗口的默认图标,这样的思路感觉不是很妥,不知道还有没有别的办法啊,谢谢!!!就楼上大虾的第二条小弟想发表一下自己的看法:不是小弟不愿意用,只是深感现在做开发不容易,自己不想总是免费用或拿来主义,如果现在网上的控件付费容易的话,小弟还是愿意花钱的,但不要太贵哦,或者有广告的话小弟可以点广告支持哈!!!
      

  5.   

    创建一个新的窗口但不显示,用来负责Shell_NotifyIcon相关的代码,就行了
      

  6.   

    是不是用了  application.Icon.Handle之类的语句,把托盘图标跟application图标指到一起了
      

  7.   

    非常感谢楼上各位大虾的回复!!!回复zzlingaaa(小舟) 大虾:说来惭愧啊,小弟实在太穷了,至今电脑里装的全是盗版,正痛苦ing,有朝一日小弟装了正版的软件后一定来这里报到!!!回复merkey2002(小样的):小弟检查了一下源代码没有这样的动作,我是直接这样将ImageList中的图标赋给托盘图标的,
    IconList.GetIcon(0,Icon);
    TrayIconRecord.hIcon:=Icon.Handle;
    不知道这样有没有错啊!??