Rapid-Q Documentation by William Yu (c)1999-2000 Appendix A: QCANVAS


QCANVAS Компонент

QCanvas это пустое изображение (холст) на котором вы можете рисовать свой рисунок.

QCanvas Свойства
ПолеТипR/WПо умолчаниюПоддерживается





AlignINTEGERRWalNoneW
Align определяет как компонент располагается на родительской форме
ClientHeightINTEGERRWW
ClientWidthINTEGERRWW
ColorINTEGERRWWXG
CopyModeINTEGERRWcmBlacknessW
CursorINTEGERRWcrDefaultW
EnabledINTEGERRWTrueWXG
FontQFONTWW
HeightINTEGERRWWXG
HintSTRINGRWW
LeftINTEGERRW0WXG
ParentQFORM/QPANEL/QTABCONTROLWWXG
Pixel2D ARRAY of INTEGERRWWXG
PopupMenuQPOPUPMENUWW
ShowHintINTEGERRWFalseW
TagINTEGERRWWXG
TopINTEGERRW0WXG
WidthINTEGERRWWXG
VisibleINTEGERRWTrueWXG


QCanvas Методы
МетодТипОписаниеПараметрыПоддерживается





CircleSUB (x1%, y1%, x2%, y2%, c%, fill%)Рисует и заливает окружность6WXG
CopyRectSUB (D, Image, S)D и S это QRECTs, Image может быть QImage, QCanvas, или QBitmap3W
Пример (copies QIMAGE to canvas at 10,10):
DIM Destination AS QRECT
DIM Source AS QRECT
DIM Image AS QIMAGE
Image.BMP = "whatever.bmp"

SUB CanvasPaint (Sender AS QCANVAS)
WITH Destination
.Top = 10
.Left = 10
.Right = .Left+Image.Width
.Bottom = .Top+Image.Height
END WITH
WITH Source
.Top = 0
.Left = 0
.Right = Image.Width
.Bottom = Image.Height
END WITH
Sender.CopyRect(Destination, Image, Source)
END SUB

DIM Canvas AS QCANVAS
Canvas.OnPaint = CanvasPaint
DrawSUB (x%, y%, BMP)Выводит рисунок на "холст" (Рисовать BitMap on Canvas)3WG
Детали:
BMP может быть BMP свойством QBitmap, QImage, QImageList, etc. любой компонент со свойством BMP подойдет.
Примерs:
DIM Image1 AS QIMAGE
Image1.BMP = "whatever.bmp"
DIM Image2 AS QBITMAP
Image2.BMP = "whatever.bmp"

SUB CanvasPaint (Sender AS QCANVAS)
Sender.Draw(0, 0, Image1.BMP)
Sender.Draw(50, 50, Image2.BMP)
END SUB

DIM Canvas AS QCANVAS
Canvas.OnPaint = CanvasPaint
FillRectSUB (x1%, y1%, x2%, y2%, c%)Рисует и заливает цветом прямоугольник5WXG
LineSUB (x1%, y1%, x2%, y2%, c%)Рисует линию5WXG
PaintSUB (x%, y%, c%, borderc%)Заполняет область4WXG
PsetSUB (x%, y%, c%)Рисует точку3WXG
RectangleSUB (x1%, y1%, x2%, y2%, c%)Рисует прямоугольник5WXG
RepaintSUBПерерисовать0W
RotateSUB (xOrigin%, yOrigin%, Angle%)Поворачивает canvas вокруг заданной точки н заданный угол3W
RoundRectSUB (x1%, y1%, x2%, y2%, x3%, y3%, c%)Рисует & Заполняет цветом прямоугольник со скругленными углами7W
StretchDrawSUB (Rect AS QRECT, BMP)Рисует изображение и растягивает его до заполнения заданного прямоугольника2W
TextHeightFUNCTION (Text$) AS WORDВозвращает высоту, в пикселях, строки Text$1W
TextWidthFUNCTION (Text$) AS WORDВозвращает ширину, в пикселях, строки Text$1W
TextRectSUB (Rect AS QRECT, x%, y%, S$, fc%, bc%)Выводит текст, обрезая по границам региона Rect6W
TextOutSUB (x%, y%, S$, fc%, bc%)Выводит текст на рисунок5WXG

QCanvas События
СобытиеТипПроисходит когда...ПараметрыПоддерживается





OnClickVOIDПользователь кликнул on canvas0WXG
OnDblClickVOIDДвойной клик on canvas0W
OnMouseDownSUB (Button%, X%, Y%, Shift%)Нажатие кнопки мыши4WXG
OnMouseMoveSUB (X%, Y%, Shift%)Движение мыши3WXG
OnMouseUpSUB (Button%, X%, Y%, Shift%)Кнопка мыши отпущена4WXG
OnPaintVOIDОбработка сообщения WM_PAINT0WXG


QCanvas Примеры
'  Pixel by pixel credit scroller for Rapid-Q by William Yu

DIM Canvas AS QCanvas
DIM Form AS QForm
DIM Timer1 AS QTimer
DIM Font AS QFont
DIM Y AS INTEGER
    Y = -20

SUB Resize
  Canvas.Height = Form.ClientHeight
  Canvas.Width = Form.ClientWidth
END SUB

SUB Paint
  Canvas.Textout (65,Y-30,"Beware the power of Rapid-Q!", &H00FF00, 0)
  Canvas.Textout (30,Y,"Credit Scroller written in Rapid-Q by William Yu", &HFFFFFF, 0)
END SUB

SUB TimerOver
  Timer1.Interval = 1  '' Can't go any lower!
  Y = Y + 1            '' Pixel by pixel!
  Paint
END SUB

Form.Width = 400
Form.Height = 200
Form.Center
Form.Color = 0

Font.Name = "Arial"
Font.Size = 12
Font.Color = &H00FF00
Canvas.Parent = Form
Canvas.Font = Font
Canvas.Color = 0
Canvas.OnPaint = Paint

Timer1.Interval = 1
Timer1.OnTimer = TimerOver

Form.Onresize = Resize
Form.ShowModal

Предыдущий Компонент Содержание Следующий Компонент