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

如何動態變更ICon

缺席
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-04-15 16:01:15 IP:124.219.xxx.xxx 訂閱
Hi,各位先進大定好:
小弟想做類似Dropbox的功能,
在檔案總管上已Sync的檔案顯示打勾的符號,
正在Sync的檔案為同步的符號,
有看到Overlay Icon的API,
但Overlay Icon只能有要不要覆蓋的功能,
無法顯示多種不同的Icon(已同步/同步中/不同步等),
是否有其他方法可使用?
謝謝!
max5020
資深會員


發表:29
回覆:277
積分:321
註冊:2003-06-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-04-16 14:47:21 IP:59.125.xxx.xxx 訂閱
procedure TfmOrder.Set_Icon(const Msg: DWord; const index: Integer);
var ico: TIcon;
begin
ico:= TIcon.Create;
Imagelist.GetIcon(index, ico);
IconData.cbSize := SizeOf(IconData);
IconData.Wnd := Handle;
IconData.uID := 100;
IconData.uFlags := NIF_MESSAGE NIF_ICON NIF_TIP;
IconData.uCallbackMessage := WM_USER 1;
IconData.hIcon := ico.handle;
StrPCopy(IconData.szTip, Application.Title);
Shell_NotifyIcon(Msg, @IconData);
ico.free;
end;

Set_Icon(NIM_MODIFY, Img_Index);
再加個TIMER, IMAGELIST

編輯記錄
max5020 重新編輯於 2013-04-16 14:50:56, 註解 無‧
max5020 重新編輯於 2013-04-16 14:51:32, 註解 無‧
max5020 重新編輯於 2013-04-16 14:52:29, 註解 無‧
blue
中階會員


發表:169
回覆:136
積分:81
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-08-20 15:47:59 IP:122.146.xxx.xxx 訂閱
Hi,感謝max5020大大的指導:
這個是不是改TrayIcon的圖示?
因小弟需要的是更改檔案總管中檔案的圖示(Overlay icon),
不過,小弟已找到解法.....
就是註冊二個Overlay icon,
謝謝!
===================引 用 max5020 文 章===================
procedure TfmOrder.Set_Icon(const Msg: DWord; const index: Integer);
var ico: TIcon;
begin
ico:= TIcon.Create;
Imagelist.GetIcon(index, ico);
IconData.cbSize := SizeOf(IconData);
IconData.Wnd := Handle;
IconData.uID := 100;
IconData.uFlags := NIF_MESSAGE NIF_ICON NIF_TIP;
IconData.uCallbackMessage := WM_USER 1;
IconData.hIcon := ico.handle;
StrPCopy(IconData.szTip, Application.Title);
Shell_NotifyIcon(Msg, @IconData);
ico.free;
end;

Set_Icon(NIM_MODIFY, Img_Index);
再加個TIMER, IMAGELIST

系統時間:2024-04-25 3:41:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!