On 18.02.2018 17:19, Giuliano Colla wrote:
Il 18/02/2018 11:54, Ondrej Pokorny ha scritto:

What events are generated?

onFormPaint

Do you mean TForm.OnPaint?

---

No, no, no, no. Setting MyLabel.Color and any other visual property does NOT fire any paint event/method/whatever - neither in Delphi nor in Lazarus. Instead a repaint is requested with Invalidate/InvalidateRect that is then handled when the WM_PAINT message is received.

I really don't know where you got this information from. Or did I misunderstand you?

Ondrej

---

PS: A test project:

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)
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormPaint(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Writeln('1');
  Label1.Color := clRed;
  Writeln('2');
  Label1.Color := clGreen;
  Writeln('3');
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  Caption := IntToStr(StrToIntDef(Caption, 0)+1);
  Writeln('paint');
end;

end.



object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 561
  ClientWidth = 391
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnPaint = FormPaint
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 80
    Top = 112
    Width = 31
    Height = 13
    Caption = 'Label1'
  end
  object Button1: TButton
    Left = 80
    Top = 155
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
end
--
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to