Сделать сложный фон окна



Фон окна может представлять собой повторяющиеся картинки произвольного размера.


procedure TForm1.FormCreate(Sender: TObject);
begin
bm := TBitMap.Create;
bm.LoadFromFile('Example.bmp');
end;
procedure TForm1.FormPaint(Sender: TObject);
var
x, y: integer;
begin
for x := 0 to Form1.ClientWidth div bm.Width do
for y := 0 to Form1.ClientHeight div bm.Height do
Form1.Canvas.Draw(x * bm.Width, y * bm.Height, bm);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
bm.Destroy;
end;

Вы можете использовать для "подложки" формы любой стиль кисти. Таким образом, можно получить окно "в полосочку", "в сеточку" и т.д.


procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Brush.Style := bsDiagCross;
end;

Ту же задачу можно решить, используя свойство кисти Bitmap, позволяющее создавать свои стили. Размер картинки при этом всегда равен 8X8.


procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Brush.Bitmap := TBitMap.Create;
Form1.Brush.Bitmap.LoadFromFile('Phone.bmp');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Form1.Brush.Bitmap.Destroy;
end;


Далее: Скины »»