Като нормална боя на панел

Както обикновено се направи на панела?

Добър ден на всички!
Необходимо е да се направи снимка на арматурното ресурс.
# XA0; частен
# XA0; # XA0;
# XA0; # XA0; PanelDC, PD: HDC;
# XA0; # XA0 ВМР: TBitMap;

процедура TForm1.FormCreate (Sender: TObject);
започвам
Bmp: = TBitMap.Create;
Bmp.LoadFromResourceName (HInstance "PanelImage");
приключи;

процедура TForm1.FormPaint (Sender: TObject);
започвам

DeleteDC (PanelDC);
DeleteDC (PD);
приключи;
Така че, ако се премахне Label1.Caption линия. това не се направи нищо. Етикет с това линия изобразявана
промяна на номера.
Помощ обикновено се направи на панела.

> [1] clickmaker
и нещата са там.


> Tytus # XA0; (09/08/06 12:06) [2]

не забележите, че боята в Form.OnPaint. Това е погрешно.
Можете основно само се възползва от панел или кутия с бои костюм, а може би изображение?

[3]> clickmaker
Тук хвърли бутон, а сега всичко е наред, изготвен.
Но това не е опция.


> Tytus # XA0; (09/08/06 13:28) [4]

Не разбирам. Защо се покрие, ако сте собственик на контрола върху панела не са необходими? лак и чат на формата и кутия с бои

Създайте свой наследник от TPanel, по-добре дори TCustomPanel.
Припокриване защитен Paint; отменят;
TTam risy което ви трябва.
И това

Имате само веднъж - при създаване и изтриване на обекти.

След това е възможно да се redeclare на Canvas собственост, като в този случай GetDC и ReleaseDC стана ненужен

С две думи, използването на панела, за да се направи малко кръв:


тип
# XA0; TMyPanel = клас (TPanel)
# XA0; обществен
# XA0; # XA0; имот платно;
# XA0; # XA0; процедура за боядисване; отменят;
# XA0; край;

# XA0; TForm1 = клас (TForm) # XA0;
# XA0.
# XA0; край;


изпълнение
.
процедура TMyPanel.Paint;
започвам
# XA0; наследствено;
# XA0; ако Self.Tag = 1000 тогава
# XA0; започне
# XA0; # XA0; // Тук можете боя върху платното
# XA0; край;
приключи;

Въпреки това, използването на кутия с бои на всички по-лесно.