怎样让一个自己派生的CDialog在Domodal()后不要显示出来,处于隐藏状态?谢谢大家

zhangyiabc 2002-10-25 11:05:56
怎样让一个自己派生的CDialog在Domodal()后不要显示出来,处于隐藏状态?谢谢大家
...全文
241 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingofvc 2002-11-03
  • 打赏
  • 举报
回复
你根本就不要用domodal啊
你可以使用无模式对话框
然后不要showwindow就可以了
显示的时候再showwindow
llm308 2002-11-03
  • 打赏
  • 举报
回复
收藏
daniceexiedong 2002-11-03
  • 打赏
  • 举报
回复
斑竹果然牛阿!佩服
ynyn 2002-10-25
  • 打赏
  • 举报
回复
呵呵,原来斑竹都发话了,那我就不瞎掺和了 :)
ynyn 2002-10-25
  • 打赏
  • 举报
回复
要不你试试这样,在PreCreateWindow()里的
return CDialog::PreCreateWindow(cs);前面加上
cs.style &= (~WS_VISIBLE);
masterz 2002-10-25
  • 打赏
  • 举报
回复
hide dialog at startup
void CHidedlgDlg::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
if (lpwndpos->flags & SWP_SHOWWINDOW) {
lpwndpos->flags &= ~SWP_SHOWWINDOW;
PostMessage(WM_WINDOWPOSCHANGING, 0, (LPARAM)lpwndpos);
ShowWindow(SW_HIDE);
}
else
CDialog::OnWindowPosChanging(lpwndpos);
}


通过重载DoModel、RunModelLoop可以解决问题
zhangyiabc 2002-10-25
  • 打赏
  • 举报
回复
我刚才试了,在ONINITDIALOG中用ShowWindow(SW_HIDE);
结果它一样的显示出来了。郁闷。
ynyn 2002-10-25
  • 打赏
  • 举报
回复
我没试过,你在对话框的OnInitDialog里用ShowWindow()试试
zhangyiabc 2002-10-25
  • 打赏
  • 举报
回复
不成啊。我要DoModal()一启动就隐藏它,不要有闪炼效果呵呵
我做了一个变量m_bolOnlyAutoVer==true来表示要隐藏。可是在CDialog派生类该怎么做?
ynyn 2002-10-25
  • 打赏
  • 举报
回复
用ShowWindow(SW_HIDE)把它隐藏起来不就可以了么

16,548

社区成员

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

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

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