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

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 自然点不到确定按钮

数控软件

java显示消息对话框

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

kaho_yam

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

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

没有蛀牙lm

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

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

小龙王2010

VC让对话框程序不在任务栏中显示

摘要:VC/C++源码,系统相关,任务栏,对话框  本例子将向大家介绍如何使基于VC++的对话框程序不在任务栏中显示,大家都知道,一般程序窗口打开的时候,在Windows的任务栏中会有显示,以方便大家的控件,不过也有时候,像一些恶意程序,会隐藏掉在任务栏显示的功能,或用其它方法实现这一功能,本代码将为您提供一份有力的参考,虽然程序代码都挺简单。

PLAN 向前进,决战大洋!
评论 56
收藏 已收藏
分享
返回顶部
yangl79
VC/MFC 16,550 成员 421,606 内容