如何使一个对话框程序不显示(闪一下也不行)?

yangl79 yangl79 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题。
注意:网上有一种自认为不错的解决方法是这样的:
把对话框属性的visible属性去掉,然后重载WM_SHOWWINDOW消息,如下:
void CTestDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
if( GetStyle() & WS_VISIBLE )
CDialog::OnShowWindow(bShow, nStatus);
else
{
long Style = ::GetWindowLong(*this, GWL_STYLE);
::SetWindowLong(*this, GWL_STYLE, Style | WS_VISIBLE);
CDialog::OnShowWindow(SW_HIDE, nStatus);
}
}
是不行的,虽然窗口的确不显示了(闪都不闪一下),但把鼠标移动到对话上面的按钮、编辑框等控件上时(或点一下,注意我是指移动到按钮等控件的位置上,因为控件是看不见的,所以要多试几次才能找到),这个时候控件会显示出来,最后的效果就是屏幕上出现一堆看起来没有容器包装的按钮、编辑框等(就是一堆按钮挂在屏幕上,看不到主窗口,让不懂人感觉是被黑了)。

申明一下,不确定者请先自己试试,不要盲目自信,我要的效果是不闪。
...全文

相关推荐

mastercam软件打开对话框显示不全的点不了确定解决方法

Mastercam官方建议分辨率为1920*1080 最小分辨率为1280*1024 很多朋友的笔记本分辨率为 1366*768 自然点不到确定按钮

数控软件

【35】MFC入门到精通——MFC运行 不显示对话框 MFC界面不显示

本文总结了MFC对话框无法弹出的常见原因及解决方法。主要包括:1)无效的对话框资源ID(如ID值冲突、被误改);2)资源占用冲突(如串口未正常关闭);3)父窗口HWND无效;4)在ONINITDIALOG中误用ENDDIALOG;5)使用未注册的自定义控件;6)控件创建失败(如RICHEDIT需初始化)。此外还提供了检查代码、重新创建项目等通用解决方案,帮助开发者快速定位和修复对话框显示问题。

R-G-B

java显示消息对话框

java 编写显示消息对话框 入门资料了解原理

kaho_yam

MFC之对话框程序创建状态栏 并在状态栏上显示时间

环境:win7 ,VS2010 对话框程序。 语言:C++ 功能:1.在对话框程序中添加状态栏 2.在状态栏中显示时间。 3.时间实时更新。 逻辑:对话框中先手动添加状态栏。而后通过Ctime类获取系统时间实时显示到某一控件上。在主对话框中添加WM_Timer消息。一秒重新调用一次获取时间函数及控件显示的东西。 缺点:未实现居中显示。

没有蛀牙lm

MFC对话框程序添加状态栏随窗口大小变化,动态显示时间

MFC对话框程序添加状态栏随窗口大小变化,动态显示时间,代码中有详细注解

小龙王2010
评论 56
收藏 已收藏
分享
返回顶部
yangl79
VC/MFC 16,550 成员 421,606 内容