Font.Size := 20; // Размер шрифта
Font.Style := [] + [fsBold]; // Стиль шрифта
Brush.Style := bsClear; // Прозрачный фон текста
TextOut(50,40,'Hi!'); // Вывод текста
Brush.Color := clAqua; // Укажем цвет закраски
// Закраска области (x,y, цвет который стирать)
FloodFill(50,70, Pixels[50,70], fsSurface);
end;
end;
2. СОЗДАНИЕ ИНТЕРАКТИВНОГО ГРАФИЧЕСКОГО ИНТЕРФЕЙСА НА БАЗЕ КОМПОНЕНТА «STRINGGRID»
Установки «StringGrid1»:
ColCount = 60; RowCount = 50; DefaultColWidth = 5; DefaultRowHeight = 5
FixedCols = 0; FixedRows = 0; Options -> goRangSelection -> False
unit Unit1;
interface
. . . . . . .
var Form1: TForm1;
const
fp_down=tobject(1); fp_up=tobject(0); fp_color=clred;
x_min=0; x_max=10; y_min=-1; y_max=1; step=0.1;
implementation
{$R *.dfm}
function TForm1.GetColFromX(x_min, x_max, x: real; col_count: integer): integer;
{ Вычисление номера колонки по координате X }
var c: integer;
begin
try c:=col_count-round((x-x_min)*(col_count-1)/(x_max-x_min)+1);
except c:=0; end;
if c<0 then c:=0; if c>col_count then c:=col_count;
GetColFromX:=c;
end;
function TForm1.GetRowFromY(y_min, y_max, y: real; row_count: integer): integer;
{ Вычисление номера строки по координате Y }
var r: integer;
begin
try r:=row_count-round((y-y_min)*(row_count-1)/(y_max-y_min)+1);
except r:=0; end;
if r<0 then r:=0; if r>row_count then r:=row_count;
GetRowFromY:=r;
end;
procedure TForm1.Button1Click(Sender: TObject);
{ Очистка ячеек }
var i,j: integer;
begin
with StringGrid1 do begin
for i:=0 to colcount-1 do for j:=0 to rowcount-1 do begin
Objects[i,j]:=fp_up;
end;
end;
end;