怎样winform 最小化到托盘系统托盘

您的位置:
本文网址:
栏目分类??????????????????????????????????特别关注热门排行推荐信息相关信息
页面执行时间1.1719秒 查询数据库68次2000年9月 VB大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。下次自动登录
现在的位置:
& 综合 & 正文
linux下如何最小化窗口到系统托盘
在平时使用时,会打开许多程序,但是有些不是很常用,却又必须时时在线,例如Evolution,所以我们需要把它们最小化到托盘。但我们怎么才能达到这个目的呢?在此我们借助alltray这个小工具。 安装命令: ubuntu:
$ sudo apt-get install alltray
# yum install alltray
使用:应用程序-&附件 -& AllTray然后选中你要最小化到托盘的窗口即可
&&&&推荐文章:
【上篇】【下篇】在VC++中,想实现将MFC最小化到系统托盘,需要调用NOTIFYICONDATA类,并注册相应的消息,以下详细讲解如何实现:
1。声明一个NOTIFYICONDATA类,也就是NOTIFYICONDATA NotifyI该句可以放在Dlg类的声明中,作为Dlg类的一个成员;也可以放在Dlg类的实现中,作为全局变量来使用。
2。声明一个响应函数afx_msg LRESULT OnClickTray(WPARAM wParam,LPARAM IParam);用于响应鼠标操作。将这个函数放入Dlg类的声明中,作为Dlg类的一个成员。
3。自定义消息,用于点击托盘 来响应的消息:
定义消息名称和消息号:#define WM_CLICK_TRAY&(WM_USER+001),1001只是用于指定一个消息号,可以随便指定。注册则是在BEGIN_MESSAGE_MAP(Dlg,CDialog)和END_MESSAGE_MAP()之间添加ON_MESSAGE(WM_NC,OnClickTray)。
4。最小化到托盘实现:本例是点击最小化按钮将对话框程序最小化到托盘:实现代码如下:
void CDesktopUtilDlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) {
CAboutDlg dlgA
dlgAbout.DoModal(); } else if(nID ==SC_MINIMIZE ) {
NotifyIcon.cbSize=sizeof(NOTIFYICONDATA);
NotifyIcon.hIcon=AfxGetApp()-&LoadIcon(IDR_MAINFRAME);
NotifyIcon.hWnd=m_hW
lstrcpy(NotifyIcon.szTip,L"NotifyIcon Test");
NotifyIcon.uCallbackMessage=WM_CLICK_TRAY;
NotifyIcon.uFlags=NIF_ICON | NIF_MESSAGE | NIF_TIP;
Shell_NotifyIcon(NIM_ADD,&NotifyIcon);
ShowWindow(SW_HIDE); } else {
CDHtmlDialog::OnSysCommand(nID, lParam); }}
5。点击托盘图标响应事件:afx_msg LRESULT OnClickTray(WPARAM wParam,LPARAM IParam);功能是点击托盘图标的时候还原对话框程序,实现代码如下:
LRESULT CDesktopUtilDlg::OnClickTray(WPARAM wParam,LPARAM IParam){ if ((IParam == WM_LBUTTONDOWN) || (IParam == WM_RBUTTONDOWN)) {
ModifyStyleEx(0,WS_EX_TOPMOST);
ShowWindow(SW_SHOW); } return 0;}
阅读(...) 评论()

我要回帖

更多关于 outlook最小化到托盘 的文章

 

随机推荐