今天用VC++做一个程序,使用modeless 对话框来显示程序启动画面。 发现运行时总是会先闪一下主程序框架,再消失(因为我在InitInstance之后将ShowWindow的参数改为SW_HIDE).
在PreCreateWindow里面修改cs 的style无效:
cs.style&=~WS_VISIBLE.
无奈之下,使用单步发现是因为在ProcessShellCommand里面会去创建MainFrame 的窗口,然后根据APP的成员
m_nCmdShow的值去显示窗口。所以Hide window的代码加在ProcessShellCommand之后的话,就会变成先 显示窗口->隐藏窗口的暂态.
So,解法来了,就是在ProcessShellCommand把m_nCmdShow置为false咯. 问题搞定.
唉,不搞VC很多年啊.