关于系统栏上的图标
我建立了一个基于单文档的小程序,可以系统栏添加图标,正常显示。但是基于对话框的显示的时候不显示我要求的图标,显示一小块灰颜色,就是系统栏默认的颜色
谁可以解决?
问题点数:100、回复次数:9Top
1 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-11-03 17:45:20 得分 50
2000下只能是16色图标Top
2 楼happyparrot(快乐鹦鹉)回复于 2005-11-03 18:07:07 得分 50
确认你选择的图标是存在的。该图标有16*16的图片Top
3 楼rd828(这服烧包,延两人)回复于 2005-11-03 18:14:01 得分 0
我的是2003,而且两个小程序用的图标是一样的Top
4 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-11-03 18:20:14 得分 0
tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = hwnd;
tnid.uID = uID;
tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
tnid.uCallbackMessage = MYWM_NOTIFYICON;
//这里图标填错了
tnid.hIcon = hicon;
if (lpszTip)
lstrcpyn(tnid.szTip, lpszTip, sizeof(tnid.szTip));
else
tnid.szTip[0] = '\0';
res = Shell_NotifyIcon(NIM_ADD, &tnid);
Top
5 楼rd828(这服烧包,延两人)回复于 2005-11-03 18:28:32 得分 0
为什么基于单文档的就可以正常显示,基于对话框的却显示不正常呢?
就好像显示了一个图标,但是那个图标是一片灰颜色Top
6 楼rd828(这服烧包,延两人)回复于 2005-11-03 18:31:27 得分 0
这是基于对话框的源代码:
void CTaskbariconDlg::OnControlAdd()
{
Shell_NotifyIcon(NIM_ADD,&nid);
}
BOOL CTaskbariconDlg::PreCreateWindow(CREATESTRUCT& cs)
{
hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
nid.cbSize=sizeof(NOTIFYICONDATA);
nid.hWnd=GetSafeHwnd();
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_TIP;
nid.hIcon=hIcon;
strcpy(nid.szTip,"任务栏图标");
return CDialog::PreCreateWindow(cs);
}
这是基于单文档的:
BOOL CTaskView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
nid.cbSize=sizeof(NOTIFYICONDATA);
nid.hWnd=GetSafeHwnd();
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_TIP;
nid.hIcon=hIcon;
strcpy(nid.szTip,"任务栏图标");
return CView::PreCreateWindow(cs);
}
void CTaskView::OnControlAdd()
{
Shell_NotifyIcon(NIM_ADD,&nid);
}
Top
7 楼happyparrot(快乐鹦鹉)回复于 2005-11-03 18:31:54 得分 0
估计还是你用错了吧。Top
8 楼goodboyws(深夜不眠者(VCMVP))回复于 2005-11-03 18:33:07 得分 0
hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);Top
9 楼rd828(这服烧包,延两人)回复于 2005-11-03 18:35:51 得分 0
我感觉关键的地方好像在这里
CTaskbariconDlg::PreCreateWindow
CTaskView::PreCreateWindowTop




