C语言如何隐藏至状态栏

求大神啊求大神啊
话说C语言的窗口能不能隐藏到右下角的状态栏啊,要加什么命令啊= =
撸主新手= =金币不多,如果要的话还可以加= =

(一) 原理
1、最小化的原理:首先要将窗口隐藏,然后 在右下角绘制图标。
2、恢复的原理:将窗口显示,再将托盘中的图片删除。
(二)程序实现
1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1)
2、在MFC的::OnSysCommand(UINT nID, LPARAM lParam)函数体中增加一个命令响应
if(nID==SC_MINIMIZE) ToTray(); //最小化到托盘的函数

3、在消息映射中添加 ON_MESSAGE(WM_SHOWTASK,OnShowTask),其中WM_SHOWTASK是消息名,
OnShowTask是自己定义的消息响应函数,后面有说明。
(三)具体函数内容
1、最小化到托盘函数
void CMyDlg::ToTray(){ NOTIFYICONDATA nid; nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd; nid.uID=IDR_MAINFRAME; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ; nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称 nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)); strcpy(nid.szTip,"程序名称"); //信息提示条 Shell_NotifyIcon(NIM_ADD,&nid); //在托盘区添加图标 ShowWindow(SW_HIDE); //隐藏主窗口}

2、恢复界面函数
在头文件中定义消息响应函数afx_msg LRESULT OnShowTask(WPARAM wParam,LPARAM lParam) ;
//wParam接收的是图标的ID,而lParam接收的是鼠标的行为 LRESULT CMyDlg::OnShowTask(WPARAM wParam,LPARAM lParam) { if(wParam!=IDR_MAINFRAME) return 1; switch(lParam) { case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭” { LPPOINT lpoint=new tagPOINT; ::GetCursorPos(lpoint);//得到鼠标位置 CMenu menu; menu.CreatePopupMenu();//声明一个弹出式菜单 //增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已 //隐藏),将程序结束。 menu.AppendMenu(MF_STRING,WM_DESTROY,"关闭"); //确定弹出式菜单的位置 menu.TrackPopupMenu(TPM_LEFTALIGN,lpoint->x,lpoint->y,this); //资源回收 HMENU hmenu=menu.Detach(); menu.DestroyMenu(); delete lpoint; } break; case WM_LBUTTONDBLCLK://双击左键的处理 { this->ShowWindow(SW_SHOW);//简单的显示主窗口完事儿 DeleteTray(); } break; default: break; } return 0; }

3、删除托盘图标函数
void CMyDlg::DeleteTray(){ NOTIFYICONDATA nid; nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA); nid.hWnd=this->m_hWnd; nid.uID=IDR_MAINFRAME; nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ; nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称 nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME)); strcpy(nid.szTip,"程序名称"); //信息提示条为“计划任务提醒” Shell_NotifyIcon(NIM_DELETE,&nid); //在托盘区删除图标 }追问

  e= =撸主表示看不懂= =

追答

这都看不懂,这是源码啊大哥,你把代码拷过去稍加修改就可以用了

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-05
大哥,走都没学会就像跑啊。你说的那个窗口托盘是win32窗体特有的。不同的平台实现不同。
.net环境最简单了。我都觉得你现在还在控制台编程呢。一步步来。

C语言如何隐藏至状态栏
1、最小化的原理:首先要将窗口隐藏,然后 在右下角绘制图标。2、恢复的原理:将窗口显示,再将托盘中的图片删除。(二)程序实现 1、自定义消息WM_SHOWTASK: #define WM_SHOWTASK (WM_USER +1)2、在MFC的::OnSysCommand(UINT nID, LPARAM lParam)函数体中增加一个命令响应 if(nID==SC_MINIMI...

c语言中如何显示行号
但是从最下方的状态栏,可以显示光标所在的行号

如何用c语言编写图形操作的软件呢??
用纯C语言编带界面的也不是不可能~~就是要用到WINDOWS API~~给你一段代码试试吧~~是我做的一个OPENGL的程序~~~在VISUAL STUDIO.NET 2003下编译通过~~代码如下~~#define WM_TOGGLEFULLSCREEN (WM_USER+1) \/\/ 定义全屏\/窗口切换消息#define TIMER1 101 \/\/ 定义时钟代号,设置为101号#define TITLE "5DG'...

状态栏数字字体上移,用FontCreator修改哪个字体文件
powershell -command "& {get-windowsfeature | Out-File -FilePath C:\\Command.txt}"但我用C语言写出来的exe去跑的时候总是不能正常执行,因为server环境里面没有debug环境,所以也不知道具体错在什么地方了,具体source如下:C\/C++ code?TCHAR szCommandLine[1024] = {0};sprintf(szCommandLine,...

网页制作的常用的代码技术
〈meta name="Keywords" c〉 11,Q:怎样隐藏在状态栏里出现的链接信息? A:大家知道,当你指向一个链接时,该链接的信息就会出现在浏览器的状态栏里, 如果需要隐藏它,可以本链接中做如下设置: 〈a href="http:\/\/zhanghing.yeah.net" none"; return true"〉链接〈\/a〉12,Q:怎样在网页中加入多媒体播放?

电脑系统学习怎样学习电脑
库是我继INTEL文档的下一波目标,我也是想看看,一个数据库体系结构是什么样的,可不可以嵌到操作系统里去。三 操作系统课程应该怎么学1、学好先修课程,为学好操作系统课程打下基础。先修课程为C语言程序设计、数据结构、计算机组成原理等。2、明确学习目的:该课程要求学生能够很好地掌握计算机操作系统的基本概念、各种...

C语言设计个人通讯录管理系统
1、创建学生社团管理系统的欢迎界面,该欢迎界面以图片的方式呈现,系统启动时再屏幕中居中显示。2、再创建用户登录窗口,用户通过文本框输入用户名和密码,单击“登录”按钮后,在窗体中显示登录是否成功;单击“重置”按钮后,清空文本框信息。3、创建“社团成员信息管理”窗体,用户可以对成员信息进行浏览...

记事本替换快捷键(记事本换行快捷键)
1、打开记事本,把格式--自动换行勾上 2、关闭所有打开的记事本 3、运行regedit打开注册表,依次展开: HKEY_CURRENT_USERSoftwareMicrosoftNotepad 将StatusBar键值改为1即可 然后再打开记事看看,现在既有自动换行又有状态栏了 电脑记事本快捷键格式怎么换行 直接输入”Enter“按键就实现换行功能了 下面...

电脑怎么学基本知识电脑基础知识入门
右下角的状态栏中会有一个上网的图标。 6、打开浏览器之后就可以在上方的地址栏输入网页地址,点击键盘上面的【Enter】键就可以输入打开网页。更多的操作还可以通过网络搜索来获取。 I. 如何学习电脑基本操作 以win键为例,加L键锁定电脑;加E键打开资源管理器;加D键显示桌面;加R键打开运行;加TAB键打开任务总览;...

coldblock写c语言可以写图形用户界面吗?
1. Qt Qt是一个跨平台应用和用户界面开发框架,它包括一个跨平台类库、集成开发工具和跨平台IDE。通过使用Qt,你可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。2. Fltk FLTK(The Fast Light Toolkit),一个轻量级的GUI开发库。FLTK除了具有...

相似回答