请问如何才能按下最小化按钮就隐藏窗口呢? 最好给出代码! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有个笨方法Timer做 if (this->IsIconic()) { ShowWindow(SW_HIDE); } CWnd::OnSize中,判断是否最小化了,然后再ShowWindow(SW_HIDE); 当窗口大小变化时候,该函数就调用了啊 afx_msg void OnSize( UINT nType, int cx, int cy ); nType为SIZE_MINIMIZED时,就是最小化了窗口 void CMainFrame::OnSize(UINT nType, int cx, int cy) { CFrameWnd::OnSize(nType, cx, cy); if( nType == SIZE_MINIMIZED ) ShowWindow(SW_HIDE); } UINT CMainFrame::OnNcHitTest(CPoint point) { if(uiRtn ==HTMINBUTTON) { this->ShowWindow(SW_HIDE); } } 对话框用void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else if( (nID & 0xFFF0) == SC_MINIMIZE ) { ShowWindow( SW_HIDE ); } else { CDialog::OnSysCommand(nID, lParam); }} 改写虚函数:LRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: Add your specialized code here and/or call the base class if ( message == WM_SYSCOMMAND ){ if ( wParam == SC_MINIMIZE ){ // 处理最小化消息 ShowWindow(SW_HIDE); return TRUE; } } return CFrameWnd::DefWindowProc(message, wParam, lParam);}同理,对以下消息也有效// SC_CLOSE 关闭// SC_MAXIMIZE 最大化按钮 前面我的回复有误void CMainFrame::OnNcLButtonDown(UINT nHitTest, CPoint point) { if(nHitTest ==HTMINBUTTON) { this->ShowWindow(SW_HIDE); } else CFrameWnd::OnNcLButtonDown(nHitTest, point);}前面我的回复有误 void CSIMTOOLDlg::OnSysCommand(UINT nID, LPARAM lParam){ switch(nID) { case SC_MINIMIZE: ShowWindow(SW_HIDE); // 隐藏窗体 break; case 61536: if (MessageBox("确定要退出此软件?", "AWS",MB_YESNO|MB_ICONQUESTION) == IDNO) { return; } //m_StatPage.SetInfo(m_ConnTime, m_sSpeed, m_sSent, m_sRecv); theApp.HandUpConn(); SetConnStatus(FALSE); //SetStatusText("网络连接已断开"); OnClose(); OnOK(); break; default: CDialog::OnSysCommand(nID, lParam); break; }} MFC 后加入的radiobutton怎样加入到先加入的其他radiobutton组里 菜鸟请问大侠们一下简单的聊天工具socket的实现的一个问题 用MFC做界面还有必要吗??? 关于孙鑫老师讲的网络编程 求助vc sqlserver2000小问题 关于网页编程 工作太忙,老婆跑去和別的男人睡覺去了,鬱悶,散分 如何使按钮的Enable和Disable状态分别使用不同的图象? 一大学毕业生因无暂住证被收容并遭毒打致死 How to SetDirty? 请教corba问题。摆脱各位大虾。。散分,100分 XP下安装visual studio 6.0 时提示我更新java虚拟机的问题?
if (this->IsIconic())
{
ShowWindow(SW_HIDE);
}
当窗口大小变化时候,该函数就调用了啊 afx_msg void OnSize( UINT nType, int cx, int cy ); nType为SIZE_MINIMIZED时,就是最小化了窗口
{
CFrameWnd::OnSize(nType, cx, cy); if( nType == SIZE_MINIMIZED )
ShowWindow(SW_HIDE);
}
{
if(uiRtn ==HTMINBUTTON)
{
this->ShowWindow(SW_HIDE);
}
}
void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else if( (nID & 0xFFF0) == SC_MINIMIZE )
{
ShowWindow( SW_HIDE );
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
LRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
if ( message == WM_SYSCOMMAND ){ if ( wParam == SC_MINIMIZE ){
// 处理最小化消息
ShowWindow(SW_HIDE);
return TRUE;
} } return CFrameWnd::DefWindowProc(message, wParam, lParam);}
同理,对以下消息也有效
// SC_CLOSE 关闭
// SC_MAXIMIZE 最大化按钮
void CMainFrame::OnNcLButtonDown(UINT nHitTest, CPoint point)
{
if(nHitTest ==HTMINBUTTON)
{
this->ShowWindow(SW_HIDE);
}
else
CFrameWnd::OnNcLButtonDown(nHitTest, point);}
前面我的回复有误
{
switch(nID)
{
case SC_MINIMIZE:
ShowWindow(SW_HIDE); // 隐藏窗体
break;
case 61536:
if (MessageBox("确定要退出此软件?", "AWS",MB_YESNO|MB_ICONQUESTION) == IDNO)
{
return;
}
//m_StatPage.SetInfo(m_ConnTime, m_sSpeed, m_sSent, m_sRecv);
theApp.HandUpConn();
SetConnStatus(FALSE);
//SetStatusText("网络连接已断开");
OnClose();
OnOK();
break;
default:
CDialog::OnSysCommand(nID, lParam);
break;
}
}