怎样做右下角的小东东 我不知道怎样将程序运行后在任务栏右边的小图标上,俺很菜吧,请教各位啊,俺至少可以做个好学生的:) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 建立托盘图标NOTIFYICONDATA tnid;HICON hicon;hicon=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICONBEFORE));//载入ICONtnid.cbSize = sizeof(NOTIFYICONDATA);//NOTIFYICONDATA结构体大小tnid.hWnd = GetSafeHwnd();//接收通知消息的窗口句柄tnid.uID = DEMOICON;tnid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;tnid.uCallbackMessage = TESTWM_NOTIFYICON;//用户自定义回调消息tnid.hIcon = hicon; //托盘图标句柄if (lpszTipBefore) lstrcpyn(tnid.szTip, lpszTipBefore, sizeof(tnid.szTip));//提示信息else tnid.szTip[0]='\0';Shell_NotifyIcon(NIM_ADD, &tnid);if (hicon) DestroyIcon(hicon);删除托盘图标NOTIFYICONDATA tnid;HICON hicon;hicon=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDR_MAINFRAME));tnid.cbSize = sizeof(NOTIFYICONDATA);tnid.hWnd = GetSafeHwnd();tnid.uID = DEMOICON;Shell_NotifyIcon(NIM_DELETE, &tnid);修改托盘图标NOTIFYICONDATA tnid;HICON hicon;hicon=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICONAFTER));tnid.cbSize = sizeof(NOTIFYICONDATA);tnid.hWnd = GetSafeHwnd();tnid.uID = DEMOICON;tnid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;tnid.uCallbackMessage = TESTWM_NOTIFYICON;tnid.hIcon = hicon; if (lpszTipAfter) lstrcpyn(tnid.szTip, lpszTipAfter,sizeof(tnid.szTip));else tnid.szTip[0]='\0';Shell_NotifyIcon(NIM_MODIFY, &tnid);DestroyIcon(hicon);回调消息处理OnTestNotifyIcon(WPARAM wParam,LPARAM lParam){ switch(lParam) { case WM_LBUTTONDBLCLK: if(wParam==DEMOICON) { ShowWindow(SW_SHOW);//显示主窗口 } break; case WM_RBUTTONDOWN: if(wParam=DEMOICON) { CMenu *pm1,m2; CPoint pp(LOWORD(lParam),HIWORD(lParam)); m2.LoadMenu(IDR_MENU1); pm1=m2.GetSubMenu(0); ClientToScreen(&pp); pm1->TrackPopupMenu(TPM_RIGHTALIGN|TPM_LEFTBUTTON,pp.x,GetSystemMetrics(SM_CYSCREEN)-50,this); //显示菜单IDR_MENU1 } break; default: break; } return 0L;} 参见http://www.csdn.net/cnshare/soft/12/12414.shtm那个程序不错,完全符合你的要求! 汉字字库 急急急!用insert into语句插入时间的问题? 数据库同步问题 CRgn::PtInRegion()是判断点与多边形的位置关系的最有效算法吗? 有两个资源文件,里面是不同的语言版本,我应该如何全部编译到一个程序里面? SetWaitableTimer的计时精度怎么这么低? @@@@@@@@@@不上不下的问题:聚焦后的控件如何在VIEW中得到完整的“身材展现”@@@@@@@@@@? 求win32函数 折半法进行排序 单文档工程同时打开多个文件,GetDocument()只能得到一个文档指针,得不到其他的,Why? atl问题 有关内存错误调试的问题,欢迎大家参与,参与者都有分!
NOTIFYICONDATA tnid;
HICON hicon;
hicon=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICONBEFORE));//载入ICON
tnid.cbSize = sizeof(NOTIFYICONDATA);//NOTIFYICONDATA结构体大小
tnid.hWnd = GetSafeHwnd();//接收通知消息的窗口句柄
tnid.uID = DEMOICON;
tnid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;
tnid.uCallbackMessage = TESTWM_NOTIFYICON;//用户自定义回调消息
tnid.hIcon = hicon; //托盘图标句柄
if (lpszTipBefore)
lstrcpyn(tnid.szTip, lpszTipBefore, sizeof(tnid.szTip));//提示信息
else
tnid.szTip[0]='\0';
Shell_NotifyIcon(NIM_ADD, &tnid);
if (hicon)
DestroyIcon(hicon);
删除托盘图标
NOTIFYICONDATA tnid;
HICON hicon;
hicon=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDR_MAINFRAME));
tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = GetSafeHwnd();
tnid.uID = DEMOICON;
Shell_NotifyIcon(NIM_DELETE, &tnid);
修改托盘图标
NOTIFYICONDATA tnid;
HICON hicon;
hicon=LoadIcon(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDI_ICONAFTER));
tnid.cbSize = sizeof(NOTIFYICONDATA);
tnid.hWnd = GetSafeHwnd();
tnid.uID = DEMOICON;
tnid.uFlags = NIF_ICON | NIF_TIP | NIF_MESSAGE;
tnid.uCallbackMessage = TESTWM_NOTIFYICON;
tnid.hIcon = hicon;
if (lpszTipAfter)
lstrcpyn(tnid.szTip, lpszTipAfter,sizeof(tnid.szTip));
else
tnid.szTip[0]='\0';
Shell_NotifyIcon(NIM_MODIFY, &tnid);
DestroyIcon(hicon);
回调消息处理
OnTestNotifyIcon(WPARAM wParam,LPARAM lParam)
{
switch(lParam)
{
case WM_LBUTTONDBLCLK:
if(wParam==DEMOICON)
{
ShowWindow(SW_SHOW);//显示主窗口
}
break;
case WM_RBUTTONDOWN:
if(wParam=DEMOICON)
{
CMenu *pm1,m2;
CPoint pp(LOWORD(lParam),HIWORD(lParam));
m2.LoadMenu(IDR_MENU1);
pm1=m2.GetSubMenu(0);
ClientToScreen(&pp);
pm1->TrackPopupMenu(TPM_RIGHTALIGN|TPM_LEFTBUTTON,pp.x,GetSystemMetrics(SM_CYSCREEN)-50,this);
//显示菜单IDR_MENU1
}
break;
default:
break;
}
return 0L;
}
那个程序不错,完全符合你的要求!