如何编图标程序

netheart 2000-04-04 05:55:00
向各位大虾求教:
如何编制一程序,最小化后变为右下角一小图标,
但仍在继续运行.
就像网络蚂蚁之类的!
请多多指教!
...全文
102 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzh 2000-04-04
  • 打赏
  • 举报
回复
这实际上是很简单的,如果你需要的话,给我EMAIL,我给你发一个例程去。我的是zzh1415@21cn.com
关键代码如下,可参考VC知识库里面的文章
void CMainFrame::OnNotifyIcon(WPARAM wParam,LPARAM lParam)
{
switch(lParam)
{
case WM_RBUTTONDOWN:
//在当前鼠标位置弹出菜单
{
CPoint Pos;
GetCursorPos(&Pos);
CPoint pos(Pos.x,Pos.y);
OnContextMenu(this, Pos);
}
break;
case WM_LBUTTONDOWN:
break;
default:
break;
}
return;
}

void CMainFrame::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
if (point.x == -1 && point.y == -1){
//keystroke invocation
CRect rect;
GetClientRect(rect);
ClientToScreen(rect);

point = rect.TopLeft();
point.Offset(5, 5);
}

CMenu menu;
VERIFY(menu.LoadMenu(IDR_POPUP_MENU));
menu.SetMenuItemBitmaps(ID_POP_CONNECT,MF_BYCOMMAND,&bitmapConnectServer,&bitmapConnectServer);
menu.SetMenuItemBitmaps(ID_POP_LOGIN,MF_BYCOMMAND,&bitmapLogin,&bitmapLogin);
menu.SetMenuItemBitmaps(ID_POP_LOGOUT,MF_BYCOMMAND,&bitmapLogout,&bitmapLogout);
menu.SetMenuItemBitmaps(ID_POP_RUN,MF_BYCOMMAND,&bitmapRun,&bitmapRun);
menu.SetMenuItemBitmaps(ID_POP_CLOSE,MF_BYCOMMAND,&bitmapExit,&bitmapExit);

CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
CWnd* pWndPopupOwner = this;

while (pWndPopupOwner->GetStyle() & WS_CHILD)
pWndPopupOwner = pWndPopupOwner->GetParent();
SetForegroundWindow();
pPopup->TrackPopupMenu(TPM_LEFTALIGN and TPM_RIGHTBUTTON, point.x, point.y,
pWndPopupOwner);
PostMessage(WM_NULL,0,0);

}

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧