Articles of 闪烁

64位类似Scintilla的文本编辑组件?

有一个64位兼容的替代Scintilla那里是开源的?

调整窗口大小会导致黑条

我有一个窗体,它在构造函数中设置这些样式: this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); this.SetStyle(ControlStyles.UserPaint, true); this.SetStyle(ControlStyles.ResizeRedraw, true); this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); 我在Paint事件中绘制了一些矩形。 表单上没有控件。 Hovewer,当我调整表格的大小时,表格的右下方有黑条。 有什么办法摆脱他们? 我已经尝试了一切,在WndProc监听WM_ERASEBKGND ,手动绘制WM_PAINT上的窗体,实现自定义双缓冲区等。还有什么我可以尝试? 我发现这个: https : //connect.microsoft.com/VisualStudio/feedback/details/522441/custom-resizing-of-system-windows-window-flickers ,它看起来像是DWM中的错误,但我只是希望我能做一些解决方法。 请注意,我必须使用双缓冲,因为我想在Paint事件中绘制相当强烈的graphics表示。 我在C#.NET 2.0,Win7中开发。 状态更新1 我设法通过自己实现resizefunction来摆脱大部分黑色条纹。 Hovewer还有一些小毛病。 有没有办法一次resize和paint操作? 这里是我需要做的一个伪代码 : IntPtr hDC; var size = new Size(250, 200); IntPtr handle = API.PaintAndResizeBegin(this.Handle /* Form.Handle */, size.Width, size.Height, out hDC); using (var g = Graphics.FromHdc(hDC)) { this.backBuffer.Render(g, […]

如何在Windows对话框中处理WM_ERASEBKGND时避免闪烁

我有一个resize的对话框。 它也有一个自定义的背景,我为响应WM_ERASEBKGND调用而绘制(当前是对FillSolidRect的简单调用)。 当对话框resize时,会出现巨大的闪烁。 为了尝试减less闪烁,我枚举所有的子窗口,并将其添加到剪辑区域。 这似乎有一点帮助 – 现在,闪烁现象在所有的儿童控制中都是显而易见的,因为它们被重新绘制。 如何在resize的同时使对话框无闪烁? 我怀疑双缓冲必须发挥一部分,但我不知道如何做到这一点与儿童控制的对话(没有使所有的孩子控制所有者绘制或类似的东西)。 我应该注意到,我正在使用C ++(不是.NET)和MFC,但是欢迎使用纯粹的基于Win32的解决scheme:) 注:有一件事我尝试了,但没有奏效(不知道为什么)是: CDC memDC; memDC.CreateCompatibleDC(pDC); memDC.FillSolidRect(rect, backgroundColor); pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);

YouTube如何防止屏幕保护程序在video播放过程中出现? (视窗)

我注意到,当我在YouTube上观看video时,屏幕保护程序不会启动。 我正在使用Windows 7。 这是testing: 将Windows屏幕保护程序设置为1分钟。 浏览YouTube并播放超过1分钟的video; 理想的时间要长得多。 请注意,屏幕保护程序在指定的时间(1分钟)之后不会启动。 我testing过使用Firefox,Chrome和IE8。 我的Flash Player版本是10.3。 (Youtube使用闪光灯播放video)。 无论是否全屏观看video,都会发生同样的情况。 有谁知道他们是如何做到的? 我已经search,但我发现所有人都说这是不可能的,或提示用户在观看video时禁用他们的屏幕保护程序。 请查看所有答案。 不要坚持最多的投票。

如何更改Windows从c + +闪烁光标形状?

如何更改窗口从默认(|)垂直的光标形状闪烁到像dos(_)中使用的水平。 是否有一些好的function,照顾呢? 操作系统:win7