![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
paintBox [D7, WinXP]
AAAA © (2004-11-15 22:03:00)Помогите, люди добрые!!! Есть PaintBox в нём надо разместить некоторое число графических элементов прямоугольной формы (размеры их много меньше размеров PaintBox), но таким образом чтоб они не накладывались друг на друга, как это сделать????
KADAN (2004-11-16 08:00:00) [1]уточни:
некоторое число - насколько оно некоторое (от двух до трех или от нуля до миллиона)?
всегда ли эти элементы можно расположить на паинтбоксе (конкретно, если уже расположены n-1 элементов, есть ли гарантия, что n-й элемент тоже поместится?)
а вообще, если задача не сводится к тому, чтоб как-то оптимизировать расположение этих элементов, то просто каждый следующий проверять, не наложился ли он на предыдущие.
jack128 (2004-11-16 04:34:00) [2]AAAA (15.11.04 22:03)
Это ты по второму заходу, да?? Несколько дней назад же уже задавал этот вопрос..
Defunct (2004-11-16 02:55:00) [3]пример: прямоугольники выстроены по диагонали PaintBox
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
W : Integer;
H : Integer;
I : Integer;
begin
with TPaintBox(Sender) do
begin
W := Width div 10;
H := Height div 10;
with Canvas do
begin
Pen.Color := clAqua;
Brush.Color := $686050;
Rectangle(0,0, Width, Height);
Brush.Color := clRed;
for i := 0 to 9 do Rectangle( i*W, i*h, (i+1)*W, (i+1)*h )
end
end
end;