小编Ale*_*xLL的帖子

如何及时重新绘制画布?

问题是:我在桌面上绘制一些矩形,而鼠标移动(矩形大小增加)我没有滞后,人工制品等,一切都很好: 在此输入图像描述

但是当我将矩形调整到低于它的尺寸时,我有了人工制品: 在此输入图像描述

红色矩形是真正的矩形,其他都是bug.

完美的解决方案是重绘画布,但在鼠标移动时我不能一直这样做.

移动后鼠标绝对停止时有解决办法吗?

更新

代码:

    unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm2 = class(TForm)
    Timer1: TTimer;
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    isDown: Boolean;
    downX, downY: Integer;
  public
    { Public declarations }
    Bild: TBitMap;
  end;

implementation …
Run Code Online (Sandbox Code Playgroud)

delphi desktop screenshot canvas tcanvas

2
推荐指数
1
解决办法
1811
查看次数

标签 统计

canvas ×1

delphi ×1

desktop ×1

screenshot ×1

tcanvas ×1