zoukankan      html  css  js  c++  java
  • 解决自定义控件窗体缩放时闪烁

    简单实现一个可视控件

    TMyControl = class(TCustomControl)
    end;

        会发现连续改变尺寸(缩放窗口)时,创建在TMyControl这个控件的子控件出现闪烁问题。其实是被大量重绘导致问题。解决问题的方法,当然是减少重绘。

    有2中情况会出现重绘(除自己要求重绘)

    1. 父窗体重绘,要求子窗体重绘
    2. 窗体被遮挡区域改变时

    Windows提供这确定是否需要重绘的参数:

        WS_CLIPCHILDREN    --- 父窗体重绘子窗体不处理

        WS_CLIPSIBLINGS     --- 同级窗体遮挡不处理

    具体可以看相关帮助!

    procedure TMyControl.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
      with Params do
        Style := Style or WS_CLIPCHILDREN or WS_CLIPSIBLINGS;
    end;

    开发环境:

    •   DelphiXE3
    •   Win7
  • 相关阅读:
    G
    F
    E
    D
    机器学习第二次作业
    机器学习第一次作业
    机器学习作业一
    软工实践个人总结
    第11组 Beta版本演示
    第11组 Beta冲刺(5/5)
  • 原文地址:https://www.cnblogs.com/gleam/p/3758992.html
Copyright © 2011-2022 走看看