隐藏窗口的任务栏按钮后窗口最小化的问题,有源代码。

臭油松 2003-05-15 10:02:55
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
...
if (!::IsWindow(m_wndInvisible.m_hWnd))
{
LPCTSTR pstrOwnerClass = AfxRegisterWndClass(0);
if (!m_wndInvisible.CreateEx(0, pstrOwnerClass, _T(""), WS_POPUP,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, 0))
return FALSE;
}
cs.hwndParent = m_wndInvisible.m_hWnd;
...
}

问题:我运行后任务栏的按钮的确隐藏了,可是当我最小化时,窗口却跑到了屏幕的左下角,就像在MDI窗口内子窗口的最小化似的。即便是我用下面消息拦截也不行:

void CMainFrame::OnSysCommand(UINT nID,LPARAM lParam)
{
if (nID==SC_MINIMIZE)
{
//AfxMessageBox("ZUIXIAOHUA");
ShowWindow(SW_HIDE);
}
CFrameWnd::OnSysCommand(nID,lParam);
}
...全文
58 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenhai1980 2003-05-15
  • 打赏
  • 举报
回复
UP;
要不更绝一点:SetWindowPos();设置cx = cy = 0; :)
ndy_w 2003-05-15
  • 打赏
  • 举报
回复
void CMainFrame::OnSysCommand(UINT nID,LPARAM lParam)
{
if (nID==SC_MINIMIZE)
{
//AfxMessageBox("ZUIXIAOHUA");
ShowWindow(SW_HIDE);
return;
}
CFrameWnd::OnSysCommand(nID,lParam);
}
zhujianping_es 2003-05-15
  • 打赏
  • 举报
回复
So where do you want to window to appear.
It seems that your window couldn't reside in the taskbar!

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧