MFC对话框程序创建出来,默认是不带 最小化、最大化 按钮的,而且这也正合我的意愿。我现在想要实现的效果是:当用户 点击 程序在 任务栏 上的 按钮(程序最小化后的效果) 时,这个时候,当程序为正常显示状态时或最大化显示时,程序缩小到任务栏(即最小化);当程序为最小化时,点击后,程序为最大化。
现在发现的问题是:默认创建的对话框,没有这种功能,只有在当 对话框 标题栏上有最小化按钮时候,才能产生这样的效果,可是我想要的框架风格为 NONE ,即标题栏不需要。所以也就没有 最小化 按钮,我怎么办??
怎么实现???? 跪求各位高手解答……
现在发现的问题是:默认创建的对话框,没有这种功能,只有在当 对话框 标题栏上有最小化按钮时候,才能产生这样的效果,可是我想要的框架风格为 NONE ,即标题栏不需要。所以也就没有 最小化 按钮,我怎么办??
怎么实现???? 跪求各位高手解答……
解决方案 »
- 关于线程重复创建的简单问题,求解!
- 请教高手,如何从CImageList获取每个图片,并转化为CBitmap对象?
- 已经用类实例的指针作为参数传递给线程处理函数,为什么还会出现access violation?
- Unhandled exception in **.exe (MFC42D.DLL):0X00000005:Access Violation 错误 急急!!!!!!
- 为什么BHO不能只对IE浏览器起作用?
- 帮帮我吧,不然我就失业啦?
- 请教一个问题(关于帮助文件)
- 请问这样的警告信息什么意思 我只是加了一个 std::vector<int>temp
- 解决按钮的重画问题,再给100分!!
- 关于MFC的CTreeCtrl 递归插入节点
- 对话框编辑器中没有CCheckListBox控件,怎么办?
- 关于写wince下程序的问题!
http://www.joyvc.cn/GuiAndWindows/GuiAndWindows00008.html应该是激活消息, 在里面发送还原,最大化,最小化窗口的消息.
SendMessage(WM_SYSCOMMAND, SC_MINIMIZE, MAKELPARAM(point.x, point.y));
SC_RESTORE
SC_MAXIMIZE
point可以为(0,0)
::ShowWindow(this->m_hWnd,SW_MINIMIZE);
1楼的办法原理上行,但是当点击程序在任务栏上的图标时,会产生几次WM_ACTIVE消息,所以不好最最优的判断。
ModifyStyle(0, WS_MINIMIZEBOX); 如果是想截获单击任务栏的消息,另讨论
明天结贴
//ADDTRAY 添加托盘图标
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_TRAYICON;//自定义的消息名称
nid.hIcon=AfxGetApp()->LoadIcon(MAKEINTRESOURCE(IDR_MAINFRAME));
strcpy(nid.szTip,"TestTrayDlg");
Shell_NotifyIcon(NIM_ADD,&nid);//在托盘区添加图标
响应函数如下 LRESULT CTestTrayDlg::OnTrayIcon(WPARAM wParam,LPARAM lParam)
{
if(wParam!=IDR_MAINFRAME)
return 1;
switch(lParam)
{
case WM_LBUTTONDBLCLK://双击左键的处理
{
OnTrayShow();
}
break;
}
return 0;
}