MFC的文档类SDI程序(如一个记事本)如何实现最小化是隐藏到托盘
3个回答
展开全部
你这5分问的其实是2个问题。
1。怎么截获最小化的消息。
2. 怎么隐藏程序到托盘。
楼主问题注明说是文档而不是对话框,我猜对话框的托盘你已经会了。文档和对话框的方法不会相差太大。
截获最小化消息可以处理CMainFrame的消息 WM_SYSCOMMAND。
用vc向导去重写这个函数,或者重载CMainFrame中的WindowProc
LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_SYSCOMMAND)
{
if(wParam == SC_MINIMIZE)
{
//添加托盘操作
................;
}
}
return CFrameWnd::WindowProc(message, wParam, lParam);
}
----------------------------------
也有可能楼主问题重点在托盘上,那建议你可以不考虑最下化问题,把文档的关闭重载成隐藏到托盘。最小化不要去管他。(事实上很多应用软件就是如此)
1。怎么截获最小化的消息。
2. 怎么隐藏程序到托盘。
楼主问题注明说是文档而不是对话框,我猜对话框的托盘你已经会了。文档和对话框的方法不会相差太大。
截获最小化消息可以处理CMainFrame的消息 WM_SYSCOMMAND。
用vc向导去重写这个函数,或者重载CMainFrame中的WindowProc
LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_SYSCOMMAND)
{
if(wParam == SC_MINIMIZE)
{
//添加托盘操作
................;
}
}
return CFrameWnd::WindowProc(message, wParam, lParam);
}
----------------------------------
也有可能楼主问题重点在托盘上,那建议你可以不考虑最下化问题,把文档的关闭重载成隐藏到托盘。最小化不要去管他。(事实上很多应用软件就是如此)
展开全部
你可以看看VC知识库的这篇文章
参考资料: http://www.vckbase.com/document/viewdoc/?id=492
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ShowWindow(SW_HIDE);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询