ShowWindow(SW_HIDE)窗口闪烁问题

问题提出:

窗口创建时候实现直接隐藏,可是使用函数ShowWindow(SW_HIDE)窗口要闪烁一下;

查看解决办法:

论坛里看到很久之前的一个讨论,很受启发;具体可以参考链接地址:http://bbs.csdn.net/topics/10407927

解决办法:

m_***.Create(_T("Empty Temp"),WS_CHILD|WS_VISIBLE,rcList,this,101);

//m_***.ShowWindow(SW_HIDE);

时间: 2024-10-20 00:55:40

ShowWindow(SW_HIDE)窗口闪烁问题的相关文章

主窗口刷新,子窗口闪烁

问题:主窗口刷新,子窗口闪烁 解决方案:主窗口创建时,传WS_CLIPCHILDREN

C# Windows API应用之FlashWindowEx ——实现窗口闪烁的方法

Windows API Windows 这个多作业系统除了协调应用程序的执行.分配内存.管理资源-之外, 它同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务就是一个函数),可以帮应用程式达到开启视窗.描绘图形.使用周边设备等目的,由于这些函数服务的对象是应用程序(Application), 所以便称之为 Application Programming Interface,简称 API 函数.WIN32 API也就是Microsoft Windows 32位平台的应用程序编程接口

.net4.6版本前设置window子窗口位置主窗口闪烁

原文:.net4.6版本前设置window子窗口位置主窗口闪烁 在安装了.net4.6的版本是不会出现该问题的,但是在4.6以下的版本会出现,当设置之窗体的left和top属性时,会让主窗体闪烁一下. 之前是在load事件下写的: child_window.loaded+=(sender,e)=> { child_window.WindowStartupLocation=WindowStartupLocation.Manul; child_window.Left= ***; child_wind

ShowWindow(SW_HIDE)

BOOL ShowWindow( int nCmdShow ); Return Value 作用: 如果窗口原来可见,则返回非零值:如果CWnd原来是隐藏的,则返回0 参数: Parameters  nCmdShow 指定了CWnd应如何被显示. 它必须是下列值之一: SW_HIDE                                隐藏窗口并将活动状态传递给其它窗口. SW_MINIMIZE                       最小化窗口并激活系统列表中的顶层窗口. SW_

在窗口闪烁产生的原因

一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁. 先来谈谈闪烁产生的原因 原因一: 如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕 上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期. 一般显卡的刷新周期是 1/80秒左右,具体数字可以自己设置的. 这样问题就来了,一般画图都是先画背景色,然后再把内容画上去,如果这两次操作不在同一个 刷新周期内完成,那么给人的视觉感受就是

C#窗口闪烁问题解决

https://www.cnblogs.com/AndyDai/p/5203798.html 开发WinForm 程序时经常会遇到闪屏的问题,这会给用户造成很差的使用体验,所以必须妥善解决好这个问题. 首先,我们先要找出闪屏的原因,就我目前遇到的问题而言,其原因真是五花八门. 主要的原因有:使用了很多的组件导致加载缓慢,使用了性能差的组件(PictureBox.Button等). 所以,不论开发者的水平如何,微软给我们也挖了坑的. 对于控件太多造成的闪屏,其原因有两个: 1. 绘制控件时,Win

窗口和控件闪烁解决方案

对于MFC程序员来说做UI开发是痛苦的事情,不过大多数情况下我们都需要做这件事情,因为MFC自带的控件实在是太简陋了.这时候我们多半会涉及到自绘控件,随之而来的很可能就是窗口和控件的闪烁问题.这篇文章希望对MFC的窗口和控件闪烁问题做一个尽量全面的总结. 一.闪烁的原因 引起闪烁的原因很多,以至于网上有n多种解决闪烁问题的方法:如果你按照某一种方法做了仍然没有解决你的问题,请不要认定这个方法有问题,而是你没有对上号.如果你对这个解释不满意的话,我们就来深究一下到底是什么引起了闪烁.从原理上讲,闪

MFC 窗口刷新防止闪烁方法

防止窗口闪烁的方法 1.将Invalidate()替换为InvalidateRect(). Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而InvalidateRect()仅仅重画Rect区域内的内容,所以所需时间会少一些.虫虫以前很懒,经常为一小块区域的重画就调用Invalidate(),不愿意自己去计算需要重画的Rect,但是事实是,如果你确实需要改善闪烁的情况,计算一个Rect所用的时间比起重画那些不需要重画的内容所需要的时间要少得多. 2.禁止系统搽除你的窗口. 系

精通 VC++ 实效编程280例 - 01 窗口[转]

窗口是屏幕上的一个矩形区域.窗口分为3种:重叠窗口.弹出窗口和子窗口.每个窗口都有由系统绘制的“非客户区”和应用程序绘制的“客户区”.在 MFC 中,CWnd 类为各种窗口提供了基类. 1 通过 HWND 获得 CWnd 指针 通过 HWND 获得 Cwnd 指针可以调用 Cwnd::FromHandle 函数. 1 2 3 4 5 6 7 8 void CDemoDlg::OnButton1() {     HWND hWnd = GetSafeHwnd();  //获得当前窗口的句柄