Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Метод TextWidth (const Text: String) возвращает значение, определяющее ширину области, занимаемой строкой Text.



Читайте также:
  1. Answer the questions after reading the text.
  2. Answer the questions to the text.
  3. Ask eight questions about the previous text.
  4. B) Retell the text.
  5. C) Definition within text.
  6. Choose the best phrase from A- G to fill in gaps 1-7, to complete the text.
  7. Complete the following sentences using the content of the text.

Метод CopyRect(Dest: TRect; Canvas: TCanvas; Source: TRect) позволяет скопировать прямоугольную областьс размерами, определяемыми параметром Source, с исходного холста, заданного параметром Canvas, в прямоугольную область Dest поверхности рисования. При этом копируемое изображение масштабируется в соответствии с размерами области Dest.

 

Следует упомянуть о событиях OnChanging и OnChange. Эти события возникают в случае изменения содержимого поверхности рисования, то есть при использовании любых методов, связанных с рисованием или выводом текста на поверхность рисования. Событие OnChanging возникает перед модификацией холста, а событие OnChange - после модификации. Обработчики этих событий программируются вручную, так как объект Canvas не доступен на этапе проектирования.

 

В качестве примера использования графических возможностей Delphi приводится программа рисования кораблика непосредственно на форме.

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Types;

 

type

TForm1 = class(TForm)

procedure FormResize(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormResize(Sender: TObject);

var

maxw, maxh, w, h: integer;

rect: TRect;

begin

Form1.Refresh;

maxw:= Form1.ClientWidth;

maxh:= Form1.ClientHeight;

w:= maxw div 10;

h:= maxh div 10;

with Form1.Canvas do

begin

// Море

Brush.Color:= clBlue;

Brush.Style:= bsSolid;

Pen.Color:= clBlue;

Pen.Width:= 1;

Rectangle(0, maxh-h, maxw, maxh);

// Корабль

// Корпус корабля

Brush.Color:= clWhite;

Pen.Color:= clBlack;

Polygon([

Point(2*w, maxh-3*h),

Point(8*w, maxh-3*h),

Point(7*w, maxh-h),

Point(2*w, maxh-h)

]);

Rectangle(Round(3.5*w), maxh-5*h, 6*w, maxh-3*h);

// Иллюминаторы

Brush.Color:= clYellow;

Ellipse(

Round(3.9*w), maxh-4*h-Round(0.3*w), Round(4.5*w), maxh-4*h+Round(0.3*w));

Ellipse(5*w, maxh-4*h-Round(0.3*w), Round(5.6*w), maxh-4*h+Round(0.3*w));

// Труба

Brush.Color:=clBlack;

Rectangle(Round(4.5*w), maxh - 8*h, 5*w, maxh-5*h);

// Полоса на борту

Pen.Color:=clRed;

MoveTo(2*w, maxh - 2*h);

LineTo(Round(7.5*w), maxh - 2*h);

// Полосы на трубе

Pen.Width:=2;

MoveTo(Round(4.5*w), maxh-Round(7.5*h));

LineTo(Round(5*w), maxh-Round(7.5*h));

MoveTo(Round(4.5*w), maxh-7*h);

LineTo(Round(5*w), maxh-7*h);

// Надпись на борту

Font.Height:= Round(0.5*h);

Font.Style:= [fsBold];

Font.Color:= clGreen;

rect.Left:= 7*w-TextWidth('ВАРЯГ ');

rect.Top:= maxh-Round(2.75*h);

rect.Right:= 7*w;

rect.Bottom:= maxh-Round(2.25*h);

Brush.Color:= clWhite;

TextRect(rect, 7*w-TextWidth('ВАРЯГ '), maxh-Round(2.75*h), 'ВАРЯГ');

end; // конец оператора with

end; // конец процедуры procedure TForm1.FormResize

 

end. // конец модуля Unit1

 


Дата добавления: 2015-07-11; просмотров: 70 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.004 сек.)