c++ - 调整双缓冲小部件的大小?

标签 c++ user-interface

现在,我的文本小部件是双缓冲的(它在事件发生时将文本绘制到位图中)。这很好用,除非我调整小部件的大小时。当我调整大小时,我 al_destroy_bitmap 并创建一个具有新尺寸的新位图这非常慢。大多数双缓冲图形用户界面(如 Windows 和 Mac OSX)如何避免这个问题?

谢谢

最佳答案

大多数由位图支持(或用于由 OGL 或 DX 呈现)的小部件都锁定了边框并且不允许调整大小。

那些这样做的人经常会遇到由此引起的速度问题。

您可以观察调整大小的开始和结束,并仅在完成后更新您的位图,或者如果仅接收到发生调整大小的事件,请观察几个背靠背并禁用您的位图调整大小直到它们停止出现(之后,例如,一秒钟内的前 5 个,等待 250 毫秒内没有调整大小事件到达)。

关于c++ - 调整双缓冲小部件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453594/

相关文章:

c++ - 使用自定义小部件自定义 QT QTreeView

user-interface - 如何以编程方式将图像插入 FireMonkey 中的图像列表?

c++ - 为什么 qt/qmake 找不到我的共享库

c++ - 获取 Eigen::vector 的标准差

c++ - 将构造函数的参数复制到智能指针中

c++ - Win32 ListView 中的可变高度项目

java - 可以使用 Swing Timer 以更优雅的方式完成吗?

c++ - 程序集和模板类

c# - 从 C# 引用 64 位 dll 时应用程序退出(无异常)

Qt 设计器不更新 gui