wce5 基于mfc的对话框程序, 启动的时候如何让其隐藏?尝试了windows的方法不支持啊。

zyandll   2007-10-15 08:55 楼主
如题。求解。

wce5 基于mfc的对话框程序, 启动的时候如何让其隐藏?尝试了windows的方法不支持啊。

总是要闪一下才隐藏。

回复评论 (8)

试试在presubclass的时加上ShowWindow(sw_hide)
点赞  2007-10-15 09:23
这个关键在你的启动控制阿,在启动的时候首先是创建句柄,只创建不show的话是不可能会看到的,估计mfc中自动加入了SHOW这一步,你可以尝试下把这步去掉,由于我一直用api,不用mfc,所以只能帮你到这里了。
点赞  2007-10-15 09:26
OnInitDialog时,return FALSE;
试试
点赞  2007-10-15 09:34
在OnInitDialog()初始化的时候就调用ShowWindow(SW_HIDE)
点赞  2007-10-15 09:54
上面的方法都尝试过了。

总是要闪一下,mfc的对话框程序做的比较讨厌。改成非模式的都不行。
点赞  2007-10-15 17:20
有个取巧的方法,楼主可以试一下,就是设计的时候就把这个窗体的大小设为最小,等隐藏后再把这个窗体换成自己想要的大小.
点赞  2007-10-15 17:36
基本上搞定。

在OnInitDialog中加下面的语句,效果还不错

        SetWindowPos(&wndTopMost,0,0,0,0,SWP_HIDEWINDOW);   

用的时候再还原。


不过如果wince设定了那个窗口特效的话,还是能看到一个小窗口一闪而过,不过那就不仅仅是对话框程序了。
用api直接写showwindows(hide)都会有闪过的效果。

多谢大家了。
点赞  2007-10-17 09:23
你可以在DefWindowProc中响应WM_PAINT消息,在该消息中用ShowWindow(SW_HIDE)
点赞  2007-10-17 09:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复