1.在窗口消息宏里添加ON_WM_WINDOWPOSCHANGING() 使我们能够拦截到该消息,使用该消息后你必须使用默认的函数名void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
2.在对应的窗口类的h中,添加函数声明:
void OnWindowPosChanging(WINDOWPOS FAR* lpwndpos);
3.在窗口类的实现文件cpp中,添加函数实现:
void CMyDlg::OnWindowPosChanging( WINDOWPOS FAR* lpwndpos )
{
if(bSilentMode)
{
lpwndpos->flags ^= ~SWP_SHOWWINDOW;
}
CDialog::OnWindowPosChanging(lpwndpos);
}
这里的bSilentMode如果是真的时候,就不显示窗口,为什么要有该参数?你肯定不想自己的窗口永远都不显示吧,呵呵,在要显示窗口的时候将其只为否,一般的用法是在窗口初始化的时候也就是在WM_CREATE或者WM_INITDIALOG中将其设置为TRUE,在需要现实窗口的时候,将其置为FALSE,否则你的窗口无论如何也不会再见到你了,切记切记。