Olga11 Гость
|
Добавлено: Пн Сен 09 2002 11:55 Заголовок сообщения: Помогите с графикой в Visual Basic 6.0.!!!!!!!!!!! |
|
|
Помогите с графикой в Visual Basic 6.0.!!!!!!!!!!!
Задача такова: Необходимо сделать процедуру, которая рисует в нужном месте и нужного размера формы квадрат. А в этом квадрате находятся маленькие прямоугольники двух цветов – например серого и зелёного. Если всего 100 маленьких прямоугольников, то понятно, что зелёные + серые = 100. Расположение прямоугольников должно быть любым и при каждой загрузке большого квадрата расположение серых и зелёных прямоугольников должно быть разным и случайным. Есть пример из Delphi, но я не могу найти соответствующие объекты:
unit RectForm;
interface uses Windows,Forms, Graphics;
procedure DrawRect(Where:tForm; Dx,Dy,NumOfRect:integer);
implementation uses sprmain;
procedure DrawRect(Where:tForm; Dx,Dy,NumOfRect:integer); var Dim:TRect; x,y:integer; const n=5; begin if calcstep'eksp' then begin Randomize; with Where do begin Canvas.Brush.Style:=bsSolid; for x:=0 to 30 do for y:=0 to 30 do begin Dim.Left:=x*n+Dx; Dim.Top:=y*n+Dy; Dim.Right:=x*n+n+Dx; Dim.Bottom:=y*n+n+Dy; if random>Safe[NumOfRect] then Canvas.Brush.Color:=clBtnFace else Canvas.Brush.Color:=clGreen; Canvas.FillRect(dim); end; Dim.Left:=Dx; Dim.Top:=Dy; Canvas.Brush.Color:=clWhite; Canvas.FrameRect(Dim);
// Dim.Top:=Dim.Bottom; Dim.Bottom:=Dim.Top+18; Canvas.Font.Color:=clGreen; Canvas.TextOut(Dx+50,Dy+158,vecstralt[NumOfRect]); // Canvas.TextRect(dim,1,1,vecstralt[NumOfRect]); // Canvas.Brush.Color:=clWhite; // Canvas.FrameRect(Dim); end; end; end; end. |
|