MFC 怎样在OnWndMsg函数中截获窗口可见和隐藏的消息??

for_onxx 2011-06-25 11:59:21
我做了一个WS_POPUP类型的对话框,需要根据某一个view的可见或隐藏来对这个对话做显示或隐藏(不能是child类型)
怎样根据message判断view收到隐藏或显示的消息,用下面的代码好像不行
if(message == SW_HIDE)
{
m_VideoWnd->ShowWindow(SW_HIDE);
}
else if(message == SW_SHOW)
{
m_VideoWnd->ShowWindow(SW_SHOW);
}

应该怎样实时地知道view是显示还是隐藏呢?
...全文
329 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohuh421 2011-06-25
  • 打赏
  • 举报
回复
有个WM_SHOWWINDOW消息的.

具体说明见MSDN

The WM_SHOWWINDOW message is sent to a window when the window is about to be hidden or shown.

A window receives this message through its WindowProc function.


Syntax


WM_SHOWWINDOW

WPARAM wParam
LPARAM lParam;

Parameters

wParam
Specifies whether a window is being shown. If wParam is TRUE, the window is being shown. If wParam is FALSE, the window is being hidden.
lParam
Specifies the status of the window being shown. If lParam is zero, the message was sent because of a call to the ShowWindow function; otherwise, lParam is one of the following values.
SW_OTHERUNZOOM
The window is being uncovered because a maximize window was restored or minimized.
SW_OTHERZOOM
The window is being covered by another window that has been maximized.
SW_PARENTCLOSING
The window's owner window is being minimized.
SW_PARENTOPENING
The window's owner window is being restored.
Return Value

If an application processes this message, it should return zero.
for_onxx 2011-06-25
  • 打赏
  • 举报
回复
我原来的代码是在view中的OnWndMsg函数中

BOOL CVideoReplayLeftView::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
// TODO: 在此添加专用代码和/或调用基类
if(message == SW_HIDE)
{
m_VideoWnd->ShowWindow(SW_HIDE);
}
else if(message == SW_SHOW)
{
m_VideoWnd->ShowWindow(SW_SHOW);
}

return CView::OnWndMsg(message, wParam, lParam, pResult);
}
schlafenhamster 2011-06-25
  • 打赏
  • 举报
回复
dlg中找到view,然后:
IsWindowVisible()

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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