1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| procedure TSudoku.Draw(fCanvas: TCanvas;fX,fY,fWidth,fHeight: Integer); var i,j: Integer; begin with fCanvas do begin Brush.Color := clWhite;; FillRect(rect(fX,fY,fX+fWidth,fY+fHeight)); Pen.Color := 0; Pen.Width := fWidth div 150; MoveTo(fX,fY); LineTo(fX+fWidth,fY); LineTo(fX+fWidth,fY+fHeight); LineTo(fX,fY+fHeight); LineTo(fX,fY); MoveTo(fX+ fWidth div 3 ,fY); LineTo(fX+ fWidth div 3 ,fY + fHeight); MoveTo(fX+(fWidth div 3)*2,fY); LineTo(FX+(fWidth div 3)*2,fY + fHeight); MoveTo(fX,fY+ fHeight div 3 ); LineTo(fX+fWidth,fY+ fHeight div 3); MoveTo(fX,fY+(fHeight div 3)*2); LineTo(fX+fWidth,fY+(fHeight div 3)*2); Pen.Width := Pen.Width div 2; for i := 1 to 8 do if (i mod 3 <> 0) then begin MoveTo(fX+(fWidth div 9)*i+Pen.Width * 2,fY); LineTo(fX+(fWidth div 9)*i+Pen.Width * 2,fY+fHeight); MoveTo(fX ,fY+(fHeight div 9)*i+Pen.Width * 2); LineTo(fX+fWidth,fY+(fHeight div 9)*i+Pen.Width * 2); end; end; end; |