Witam, jak w temacie problem dotyczy wolnego działania przy zmianie rozmiaru okna, gdy Memo z ustawionym pionowym ScrollBarem zawiera dużą liczbę linijek tekstu. Taki program przy przemieszczaniu okna czy też dodawaniu tekstu do Memo np. za pomocą zdarzenia OnMouseMove reaguje niemal natychmiastowo. Jak można obejść problem powolnego reagowania na zmianę rozmiaru okna przy liczbie linijek w Memo >5000 ?
Przykładowy kod:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Label1: TLabel;
procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure FormResize(Sender: TObject);
procedure Memo1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormResize(Sender: TObject);
begin
Memo1.Lines.Add('Nowy rozmiar okna: '+IntToStr(Form1.ClientWidth)+'x'+IntToStr(Form1.ClientHeight));
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
Label1.Caption:=IntToStr(Memo1.Lines.Count);
end;
procedure TForm1.MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Memo1.Lines.Add('Mysz znajduje się w pozycji x='+IntToStr(X)+' y='+IntToStr(y));
end;
end.