D danceofwind Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #1 ;可以把一个图标放到任务栏上,怎么才能把一个窗体放到任务栏,就象<证券之星>的滚动消息栏一样.
D danceofwind Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-28 #4 应该是放到托盘上,不是放到任务栏,sorry! <证券之星>的滚动消息栏放入托盘后,托盘上的图标会重新排列,滚动消息栏 包括一个小滚动屏和几个按钮.
歪 歪就歪 Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-29 #6 danceofwind: 没见过证券之星,但如果你是想做一个会动的TRAY程序,你自己几乎都已 经回答了这问题。 第一步:找如何把自己的程序放到Tray里,在大富翁里有很多这样的回答。 第二步,在程序里,加一个ImageList,把动态的图标的各各画面放在ImageList 里,改变程序TrayIcon的ImageList的Index,那图标就动起来了
danceofwind: 没见过证券之星,但如果你是想做一个会动的TRAY程序,你自己几乎都已 经回答了这问题。 第一步:找如何把自己的程序放到Tray里,在大富翁里有很多这样的回答。 第二步,在程序里,加一个ImageList,把动态的图标的各各画面放在ImageList 里,改变程序TrayIcon的ImageList的Index,那图标就动起来了
H hpretty Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-29 #7 可以把APPLICATION 的 ICON 和TITLE 放到任务栏上,然后不断变化 TITLE AND ICON, 就可以实现了 icon 用资源文件,TITLE 就自己想办法用动态的 Tstrings 就可以实现
可以把APPLICATION 的 ICON 和TITLE 放到任务栏上,然后不断变化 TITLE AND ICON, 就可以实现了 icon 用资源文件,TITLE 就自己想办法用动态的 Tstrings 就可以实现
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-29 #8 没见过证券执行,我猜猜看哈 我用过wplay这个播放mp3的软件,他在tray上面放置乐4个小图标, 排在一起组成了一个播放面板(前进/后腿/快进/快推)... 同理,你也可以放置一系列小图标,注意边框之间的无缝衔接,看起来 能浑然一体的,然后受到消息后,不断在这一些列小图标上drawtext, 为了达到滚动效果,还要做一些循环变换,这样,每个小图标上的text 连起来就成了完整的消息文本... 这个办法可能土了一点,我没有试验过.
没见过证券执行,我猜猜看哈 我用过wplay这个播放mp3的软件,他在tray上面放置乐4个小图标, 排在一起组成了一个播放面板(前进/后腿/快进/快推)... 同理,你也可以放置一系列小图标,注意边框之间的无缝衔接,看起来 能浑然一体的,然后受到消息后,不断在这一些列小图标上drawtext, 为了达到滚动效果,还要做一些循环变换,这样,每个小图标上的text 连起来就成了完整的消息文本... 这个办法可能土了一点,我没有试验过.
D danceofwind Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-29 #9 谢谢各位! 不过我要的不是把图标放到TrayWnd上, 而是窗体本身, <证券之星>中的滚动栏,明显不是通过图标实现的, 它可以在桌面和托盘之间切换,在桌面上和在托盘上 的外观是一样的.
C codeguru Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-30 #10 呵呵,我想应该是这样: //找到托盘所在父窗口 hparent := Findwindow(Pchar('Shell_TrayWnd'),nil); //找到托盘窗口 h := FindWindowEx(hp,0,Pchar('TrayNotifyWnd'),nil); //在上面加窗口 hbutton:=CreateWindow('Button','test',WS_VISIBLE or WS_CHILD,0,0,100,100,h,0,0,nil); 这只是个例子,你可以加一个正常点的窗口,然后setwindowlong 为他设定处理程序入口,ok拉
呵呵,我想应该是这样: //找到托盘所在父窗口 hparent := Findwindow(Pchar('Shell_TrayWnd'),nil); //找到托盘窗口 h := FindWindowEx(hp,0,Pchar('TrayNotifyWnd'),nil); //在上面加窗口 hbutton:=CreateWindow('Button','test',WS_VISIBLE or WS_CHILD,0,0,100,100,h,0,0,nil); 这只是个例子,你可以加一个正常点的窗口,然后setwindowlong 为他设定处理程序入口,ok拉
D danceofwind Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #11 这样是可以,但是好象托盘区的图标都被BUTTON挡住了 怎样才能让托盘区重新排列一下? 谢谢!
C codeguru Unregistered / Unconfirmed GUEST, unregistred user! 2000-03-31 #12 您试试得到托盘的handle后,改变一下它的宽度?然后再加入您的窗口?
C codeguru Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-04 #13 sigh...试了一下才发现没那么容易改变它的宽度 我用 GetwindowRect(h,wrect); setwindowpos(h,HWND_TOP,wrect.Left-120, wrect.Top,wrect.Right-wrect.Left+120, wrect.Bottom -wrect.Top , SWP_NOZORDER or SWP_NOOWNERZORDER); 它竟然只是闪了一闪,什么都没变到 究竟怎样才能让托盘重新排列?请大虾们指教
sigh...试了一下才发现没那么容易改变它的宽度 我用 GetwindowRect(h,wrect); setwindowpos(h,HWND_TOP,wrect.Left-120, wrect.Top,wrect.Right-wrect.Left+120, wrect.Bottom -wrect.Top , SWP_NOZORDER or SWP_NOOWNERZORDER); 它竟然只是闪了一闪,什么都没变到 究竟怎样才能让托盘重新排列?请大虾们指教
D danceofwind Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-07 #14 我用spy++跟踪了一下托盘区,发现滚动消息栏添加到托盘区时, 托盘是以17为步长增加宽度的,猜想可能是添加了几个空图标, 然后再将消息栏覆盖在上面的.不过不知托盘区有新程序添加 图标时,消息栏是怎么处理的.
我用spy++跟踪了一下托盘区,发现滚动消息栏添加到托盘区时, 托盘是以17为步长增加宽度的,猜想可能是添加了几个空图标, 然后再将消息栏覆盖在上面的.不过不知托盘区有新程序添加 图标时,消息栏是怎么处理的.