Поделиться через


Метод Report.Circle (Access)

Метод Circle рисует круг, многоточие или дугу в объекте Report при возникновении события Print .

Синтаксис

expression. Круг (шаг (x, y), радиус, цвет, начало, конец, аспект)

Выражение Переменная, представляющая объект Report .

Параметры

Имя Тип данных Описание
Шаг Ключевое слово Указывает, что центр окружности, многоточия или дуги относительно текущих координат, заданных текущими параметрами свойств CurrentX и CurrentY аргумента Object .
(x, y) Одинарное с плавающей точкой Указывает координаты центральной точки круга, эллипса или дуги. Свойства Scale (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight и ScaleWidth) объекта Report , заданного аргументом Object, определяют используемую единицу измерения.
Radius Одинарное с плавающей точкой Указывает радиус окружности, многоточия или дуги. Свойства Scale (ScaleMode, ScaleLeft, ScaleTop, ScaleHeight и ScaleWidth) объекта Report , заданного аргументом Object, определяют используемую единицу измерения. По умолчанию расстояния измеряются в твипах.
Color Long Указывает цвет RGB (красно-зелено-синий) контура круга. Если этот аргумент опущен, используется значение свойства ForeColor . Для указания цвета можно также использовать функцию RGB или функцию QBColor .
Start Одинарное с плавающей точкой При рисовании частичного круга или эллипса аргумент Start указывает (в радианах) начальную позицию дуги. Значение по умолчанию для аргумента Start равно 0 радианам. Диапазон равен -2 пи радианам до 2 пи радианам.
End Одинарное с плавающей точкой При рисовании частичного круга или эллипса аргумент End указывает (в радианах) конечное положение дуги. Значение по умолчанию для аргумента End — 2 пи радиана. Диапазон равен -2 пи радианам до 2 пи радианам.
Аспект Одинарное с плавающей точкой Указывает пропорции круга. Значение по умолчанию — 1,0, которое дает идеальный (неэллиптический) круг на любом экране.

Замечания

Используйте этот метод только в процедуре события или макросе, заданном свойствами события для раздела отчета или свойством события OnPage для отчета.

При рисовании частичного круга или многоточия, если аргумент Start отрицательный, метод Circle рисует радиус в положение, заданное аргументом Start , и обрабатывает угол как положительный. Если аргумент End является отрицательным, метод Circle рисует радиус до позиции, указанной аргументом End, и снова обрабатывает угол как положительный. Метод Circle всегда рисует в направлении против часовой стрелки (положительное).

Чтобы заполнить круг, задайте свойства FillColor и FillStyle отчета. Можно заполнить только закрытую фигуру. Закрытые фигуры включают круги, многоточие и срезы кругов, которые представляют собой дуги с линиями радиуса, нарисованными на обоих концах.

Если при рисовании срезов кругового круга необходимо нарисовать радиус до угла 0, чтобы сформировать горизонтальный отрезок линии справа, укажите очень небольшое отрицательное значение для аргумента Start , а не 0. Например, можно указать -.00000001 для аргумента Start .

Аргумент можно опустить в середине синтаксиса, но перед включением следующего аргумента необходимо включить запятую. Если вы опустите конечный аргумент, не используйте запятые после последнего указанного аргумента.

Ширина линии, используемой для рисования круга, многоточия или дуги, зависит от параметра свойства DrawWidth . Способ рисования круга на заднем плане зависит от параметров свойств DrawMode и DrawStyle .

При применении метода Circle свойства CurrentX и CurrentY задаются в центральную точку, указанную аргументами x и y .

Пример

В следующем примере метод Circle используется для рисования круга, а затем создания кругового среза в круге и его цвета в красный цвет.

Чтобы попробовать этот пример в Microsoft Access, создайте новый отчет. Задайте для свойства OnPrint раздела Подробности значение [Процедура события]. Введите следующий код в модуль отчета, а затем переключитесь на предварительный просмотр.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) 
    Const conPI = 3.14159265359 
    Dim sngHCtr As Single, sngVCtr As Single 
    Dim sngRadius As Single 
    Dim sngStart As Single, sngEnd As Single 
 
    sngHCtr = Me.ScaleWidth / 2     ' Horizontal center. 
    sngVCtr = Me.ScaleHeight / 2     ' Vertical center. 
    sngRadius = Me.ScaleHeight / 3     ' Circle radius. 
    ' Draw circle. 
    Me.Circle(sngHCtr, sngVCtr), sngRadius 
    sngStart = -0.00000001             ' Start of pie slice. 
    sngEnd = -2 * conPI / 3             ' End of pie slice. 
    Me.FillColor = RGB(255,0,0)     ' Color pie slice red. 
    Me.FillStyle = 0                     ' Fill pie slice. 
    ' Draw pie slice within circle. 
    Me.Circle(sngHCtr, sngVCtr), sngRadius, , sngStart, sngEnd 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.