Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не срабатывает FormPaint / 14 сообщений из 14, страница 1 из 1
22.12.2017, 11:56:21
    #39574335
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
Вот что заметил. Если в событие FormShow добавить
Код: pascal
1.
  Self.DoubleBuffered := True;


то событие FormPaint не срабатывает.
Так и должно быть?
...
Рейтинг: 0 / 0
22.12.2017, 12:06:04
    #39574341
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
X11,

что значит "не срабатывает"? Не вызывается на этой строчке?
...
Рейтинг: 0 / 0
22.12.2017, 12:08:31
    #39574343
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
Всё, что в коде события не срабатывает.
Ставлю точку останова на первой строке событие и ничего не происходит.
...
Рейтинг: 0 / 0
22.12.2017, 12:08:51
    #39574344
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
Delphi XE3
...
Рейтинг: 0 / 0
22.12.2017, 12:19:43
    #39574351
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
Загляни в
Код: pascal
1.
procedure TWinControl.WMPaint(var Message: TWMPaint);
...
Рейтинг: 0 / 0
22.12.2017, 14:38:22
    #39574464
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
if not FDoubleBuffered?
...
Рейтинг: 0 / 0
22.12.2017, 14:39:43
    #39574468
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
Ок, а где бы/как бы правильно выполнять некоторый код при старте приложение, но уже после показа главной формы?
...
Рейтинг: 0 / 0
22.12.2017, 14:48:06
    #39574478
Квейд
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
X11Ок, а где бы/как бы правильно выполнять некоторый код при старте приложение, но уже после показа главной формы?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
unit Unit5;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils,
  System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;

const
  WM_MYHANDLER = WM_USER + 1;
type
  TForm5 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure WMMyHandler(var Message: TMessage); message WM_MYHANDLER;
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.FormCreate(Sender: TObject);
begin
  PostMessage(Handle, WM_MYHANDLER, 0, 0)
end;

procedure TForm5.WMMyHandler(var Message: TMessage);
begin
  ShowMessage('Выполняю некоторый код')
end;

end.
...
Рейтинг: 0 / 0
22.12.2017, 14:48:20
    #39574480
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
X11Ок, а где бы/как бы правильно выполнять некоторый код при старте приложение, но уже после показа главной формы?
В FormCreate пошли сам себе сообщение в эту-же форму.
...
Рейтинг: 0 / 0
22.12.2017, 14:53:07
    #39574483
Freedoom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
X11, отправь сообщение с использованием PostMessage, либо в OnShow, либо в Show/ShowModal
...
Рейтинг: 0 / 0
22.12.2017, 14:55:22
    #39574485
Freedoom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
Пока писал, уже накидали ответов
...
Рейтинг: 0 / 0
22.12.2017, 14:57:13
    #39574487
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
и оно выполниться не при создании формы, а уже после показа?
...
Рейтинг: 0 / 0
22.12.2017, 15:10:42
    #39574494
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
X11и оно выполниться не при создании формы, а уже после показа?
Да. Следующий вопрос будет в стиле: точно-точно?

Проверить же много проще и быстрее...
...
Рейтинг: 0 / 0
22.12.2017, 15:22:20
    #39574499
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает FormPaint
X11Вот что заметил. Если в событие FormShow добавить
Код: pascal
1.
  Self.DoubleBuffered := True;


то событие FormPaint не срабатывает.
Так и должно быть? Нет.

Проверь на голом примере
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
interface

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

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
  DoubleBuffered:=true;
end;

procedure TForm1.FormPaint(Sender: TObject);
begin
  with Canvas do begin
    Brush.Color:=clRed;
    FillRect(ClipRect);
  end;
end;
end.



Если в генофонде ничего не испортили, должно работать.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не срабатывает FormPaint / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]