線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1088
推到 Plurk!
推到 Facebook!

如何show出TryIcon的訊息…像接上USB時的訊息出現

尚未結案
johnny_1121
一般會員


發表:12
回覆:58
積分:24
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-30 10:03:32 IP:210.243.xxx.xxx 未訂閱
如題…請問各位,我要如何show出TryIcon的訊息呢? Thanks!    
bool NotifyTrayIcon(AnsiString sMessage)
{
    bool bResult = false;
    try{
        NOTIFYICONDATA icondata;
        memset (&icondata, 0, sizeof (icondata));
        icondata.cbSize = sizeof (icondata);
        icondata.hWnd = Application->MainForm->Handle;
        Shell_NotifyIcon (NIM_DELETE, &icondata);
        icondata.hIcon = Application->Icon->Handle;
        icondata.uCallbackMessage = MY_WM_NOTIFY;
        icondata.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
        strcpy(icondata.szTip,sMessage.c_str());
        Shell_NotifyIcon (NIM_ADD, &icondata);
        bResult = true;
    }catch(...){};
    return bResult;
}
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-30 22:02:18 IP:61.221.xxx.xxx 未訂閱
引言: 如題…請問各位,我要如何show出TryIcon的訊息呢? Thanks!
bool NotifyTrayIcon(AnsiString sMessage)
{
    bool bResult = false;
    try{
        NOTIFYICONDATA icondata;
        memset (&icondata, 0, sizeof (icondata));
        icondata.cbSize = sizeof (icondata);
        icondata.hWnd = Application->MainForm->Handle;
        Shell_NotifyIcon (NIM_DELETE, &icondata);
        icondata.hIcon = Application->Icon->Handle;
        icondata.uCallbackMessage = MY_WM_NOTIFY;
        icondata.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
        strcpy(icondata.szTip,sMessage.c_str());
        Shell_NotifyIcon (NIM_ADD, &icondata);
        bResult = true;
    }catch(...){};
    return bResult;
}
johnny_1121 你好:
(1)你已經使用了自己定義的 Message MY_WM_NOTIFY,因此你的 Form 也要相對
   應的建立接收這個 Message 的 function
(2)以下這裡有一個很相近的例子(不過是寫成 Service),麻煩你先依照自己的
   需求做修改
    >
    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
johnny_1121
一般會員


發表:12
回覆:58
積分:24
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-02 09:07:50 IP:210.243.xxx.xxx 未訂閱
引言: johnny_1121 你好: (1)你已經使用了自己定義的 Message MY_WM_NOTIFY,因此你的 Form 也要相對 應的建立接收這個 Message 的 function (2)以下這裡有一個很相近的例子(不過是寫成 Service),麻煩你先依照自己的 需求做修改 > [/>< face="Verdana, Arial, Helvetica"> 感謝回覆… 呵…RaynorPao前輩…我的信箱有你的幾百封回答信…真厲害… 我看了該篇文章…因我從未使用過Service…請原諒小弟的無知…小弟不懂… _-||| 前輩的意思是使用Service即可完成我的…使用一個Form來show我要顯示的訊息嗎?若是…是否有其它方法? 感覺Service好似TThread… 望前輩再提供更詳細的指點!感謝!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-02 11:14:18 IP:203.73.xxx.xxx 未訂閱
引言: 感謝回覆… 呵…RaynorPao前輩…我的信箱有你的幾百封回答信…真厲害… 我看了該篇文章…因我從未使用過Service…請原諒小弟的無知…小弟不懂… _-||| 前輩的意思是使用Service即可完成我的…使用一個Form來show我要顯示的訊息嗎?若是…是否有其它方法? 感覺Service好似TThread… 望前輩再提供更詳細的指點!感謝!
johnny_1121 你好:
(1)其實不一定要寫成 Service,一般的 Application 也可以達到你的目的
(>    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
johnny_1121
一般會員


發表:12
回覆:58
積分:24
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-02 14:14:00 IP:210.243.xxx.xxx 未訂閱
引言: (1)其實不一定要寫成 Service,一般的 Application 也可以達到你的目的 (>< face="Verdana, Arial, Helvetica"> RaynorPao兄: 小弟執行該範例沒有出現TrayIcon… 另外請問,我用的MESSAGE_HANDLER和VCL_MESSAGE_HANDLER有差別嗎?以下是我的source
    BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(MY_WM_NOTIFY,TMessage,MyIconCallBack)
    END_MESSAGE_MAP(TForm)
在help看到VCL_MESSAGE_HANDLER(WM_SETFOCUS, TWMSetFocus, WMSetFocus);這可能是我需要的~ 我試試再上來post~ 不行…試不出來…無法出現 發表人 - johnny_1121 於 2003/06/02 17:58:54
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-03 01:00:39 IP:61.221.xxx.xxx 未訂閱
引言: RaynorPao兄: 小弟執行該範例沒有出現TrayIcon… 另外請問,我用的MESSAGE_HANDLER和VCL_MESSAGE_HANDLER有差別嗎?以下是我的source
    BEGIN_MESSAGE_MAP
        MESSAGE_HANDLER(MY_WM_NOTIFY,TMessage,MyIconCallBack)
    END_MESSAGE_MAP(TForm)
在help看到VCL_MESSAGE_HANDLER(WM_SETFOCUS, TWMSetFocus, WMSetFocus);這可能是我需要的~ 我試試再上來post~ 不行…試不出來…無法出現
johnny_1121 你好:
(1)請問你測試的作業系統為何呢??
( >
( >
   >    -- 
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
johnny_1121
一般會員


發表:12
回覆:58
積分:24
註冊:2002-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-03 09:15:47 IP:210.243.xxx.xxx 未訂閱
引言: johnny_1121 你好: (1)請問你測試的作業系統為何呢?? ( > ( > >< face="Verdana, Arial, Helvetica"> RaynorPao前輩你好! (1) OS XP Tool BCB5 (2) TrayIcon的create和Destroy可以執行 (3) 功能比如在接收到email後即顯示"You get the mail!"的訊息於系統列上 目前滑鼠移到TrayIcon上可顯示,但小弟想讓它能搭配音效(這)及並秀出訊息而不必滑鼠移到該點位置上才能顯現… 目前看到的資料都是使用Form加上訊息來show…但小弟異想天開的認為應該有更直接的API或是Function可以調用… 感謝你的熱心幫忙~
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-04 14:17:36 IP:61.221.xxx.xxx 未訂閱
引言: RaynorPao前輩你好! (1) OS XP Tool BCB5 (2) TrayIcon的create和Destroy可以執行 (3) 功能比如在接收到email後即顯示"You get the mail!"的訊息於系統列上 目前滑鼠移到TrayIcon上可顯示,但小弟想讓它能搭配音效(這)及並秀出訊息而不必滑鼠移到該點位置上才能顯現… 目前看到的資料都是使用Form加上訊息來show…但小弟異想天開的認為應該有更直接的API或是Function可以調用… 感謝你的熱心幫忙~
johnny_1121 你好:
(1)你目前的單一功能都已經 ready 了,只缺整合的部分了
(2)小弟我認為你現在的瓶頸應該在於如何知道收到 mail 了?? 請問收發 mail
   的軟體也是你自己寫的嗎??
(3)如果收發 mail 的軟體也是你自己寫的話,那事情就容易多了,只需要在收
   到新 mail 的時候,SendMessage (自己定義的 message) 給正在 stand by
   的 Form(前幾篇中提到的做法),就可以達到目的了
(4)可是如何收發 mail 的軟體不是你自己寫的話,那事情就會變得非常棘手吧
-- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/06/04 14:19:03
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
johnny_1121
一般會員


發表:12
回覆:58
積分:24
註冊:2002-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-09 09:17:34 IP:210.243.xxx.xxx 未訂閱
引言: johnny_1121 你好: (1)你目前的單一功能都已經 ready 了,只缺整合的部分了 (2)小弟我認為你現在的瓶頸應該在於如何知道收到 mail 了?? 請問收發 mail 的軟體也是你自己寫的嗎?? (3)如果收發 mail 的軟體也是你自己寫的話,那事情就容易多了,只需要在收 到新 mail 的時候,SendMessage (自己定義的 message) 給正在 stand by 的 Form(前幾篇中提到的做法),就可以達到目的了 (4)可是如何收發 mail 的軟體不是你自己寫的話,那事情就會變得非常棘手吧
感謝RaynorPao兄回覆~ 收發email的功能已完成。 如RaynorPao兄所提 "給正在stand by的Form" ,早先以為能有個API或什麼的可以代入我要show出的Message然後它就可以在系統列上的TrayIcon上顯示…(想得美…>_<|||) 我的想法是能不能不用自己creat的Form,看來是得自己弄個漂亮的MessageForm來取代了,像RealOnePlay那樣就粉棒了~ 感謝RaynorPao參與我的問題 Johnny
系統時間:2024-04-27 0:01:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!