Пример использования рисунка в качестве фона в форме приведен на рис. 15.2.

Аналогично вставляется фоновый рисунок в отчет. Пример использования рисунка в качестве фона в отчете приведен на рис. 15.3.

Рисунок может быть вставлен в форму и в виде элемента управления формы. Для этого можно использовать два типа элементов управления: Рисунок (Image) и Свободная рамка объекта (Unbound Object Frame).

Рис. 15.2 . Использование фонового рисунка в форме Microsoft Access


Рис. 15.3 . Фоновый рисунок в отчете Microsoft Access

Если не требуется прямое изменение рисунка в форме или отчете, то лучше использовать Рисунок (Picture) (форма будет работать быстрее). Если же предполагается часто изменять рисунок, нужно вставить его с помощью свободной рамки объекта.

Чтобы вставить элемент управления Рисунок (Image), необходимо:

  • Открыть форму в режиме Конструктора формы или отчет в режиме Конструктора отчета.
  • Нажать кнопку Рисунок (Image) на панели элементов (кнопка Мастера элементов должна быть нажата, чтобы запустился Мастер рисунков).
  • Выбрать в форме или отчете место, в которое помещается рисунок, и щелкнуть на нем левой кнопкой мыши.
  • В раскрывшемся окне Вставка рисунка (Insert Picture) выбрать имя файла, содержащего добавляемый рисунок, и нажать кнопку ОК . Будет создан элемент управления, в котором помещается рисунок (рис. 15.4).
  • Установить значения свойств, которые влияют на то, как рисунок будет отображаться в форме или отчете. Эти свойства аналогичны соответствующим свойствам формы.
  • 02. Данный способ позволяет вам нарисовать некоторые объекты в форме, хотя в программе Международный Туризм использовался другой алгоритм для рисования карты. Этот способ может Вам пригодится в некоторых случаях. Рисуются линии, точки, элипсы, многоугольники, т.е. те базовые объекты, которые применяются в api интерфейсе.

    " Функция используется для поиска окна
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
    (ByVal hWndParent As Long , _
    ByVal hWndChildAfter As Long , _
    ByVal lpClassname As String , _
    ByVal lpWindowName As String ) As Long

    " Функция возвращает контекст устройства для рисования
    Private Declare Function apiGetDC Lib "user32" Alias "GetDC" _
    (ByVal hwnd As Long ) _
    As Long

    " Функция освобождает контекст устройства для других приложений
    Private Declare Function apiReleaseDC Lib "user32" Alias "ReleaseDC" _
    (ByVal hwnd As Long , _
    ByVal hDc As Long ) _
    As Long


    " Далеее идут, функции управляющие рисованием

    " Функция рисует точку на экране
    Private Declare Function apiSetPixel Lib "gdi32" Alias "SetPixel" _
    (ByVal hDc As Long , _
    ByVal x As Long , _
    ByVal Y As Long , _
    ByVal crColor As Long ) As Long

    " Функция рисует линию из текущей позиции "пера" до точки с координатами
    " x,y, но не включая ее саму. Линия рисуется с помощью выбранного "пера". Если
    " нет ошибки, то текущее положение пера устанавливается в точку с координатами
    " (x,y)
    Private Declare Function apiLineTo Lib "gdi32" Alias "LineTo" _
    (ByVal hDc As Long , _
    ByVal x As Integer , _
    ByVal Y As Integer ) _
    As Long

    " Функция рисует дугу элипса с помощью выбранного "пера".
    " Дуга рисуется против часовой стрелки.
    " (x1,y1 - x2,y2) ограничивающий прямоугольник для дуги.


    Private Declare Function apiArc Lib "gdi32" Alias "Arc" _
    (ByVal hDc As Long , _
    ByVal X1 As Integer , _
    ByVal Y1 As Integer , _
    ByVal X2 As Integer , _
    ByVal Y2 As Integer , _
    ByVal X3 As Integer , _
    ByVal Y3 As Integer , _
    ByVal X4 As Integer , _
    ByVal Y4 As Integer ) _
    As Long
    " Функция рисует прямоугольник с помощью выбранного "пера".
    " (x1,y1) - первый угол

    Private Declare Function apiRectangle Lib "gdi32" Alias "Rectangle" _
    (ByVal hDc As Long , _
    ByVal X1 As Long , _
    ByVal Y1 As Long , _
    ByVal X2 As Long , _
    ByVal Y2 As Long ) As Long

    " Функция передвигает позицию рисования
    " (x,y) - новая точка
    " (lpPoint) - предыдущая точка
    Private Declare Function apiMoveTo Lib "gdi32" Alias "MoveToEx" _
    (ByVal hDc As Long , _
    ByVal x As Long , _
    ByVal Y As Long , _
    lpPoint As POINTAPI) As Long
    " Структура координаты точки
    Private Type POINTAPI
    x As Long
    Y As Long
    End Type

    " Функция рисует элипс с помощью выбранного "пера".
    " (x1,y1) - первый угол
    " (x2,y2) - противоположный угол
    Private Declare Function apiEllipse Lib "gdi32" Alias "Ellipse" _
    (ByVal hDc As Long , _

    ByVal X2 As Long , ByVal Y2 As Long ) As Long


    " lpPoint - массив точек
    " nCount - число точек
    Private Declare Function apiPolyline Lib "gdi32" Alias "Polyline" _
    (ByVal hDc As Long , _
    lpPoint As POINTAPI, _

    " Функция рисует ломаную с помощью выбранного "пера"
    " lpPoint - массив точек
    " nCount - число точек
    Private Declare Function apiPolygon Lib "gdi32" Alias "Polygon" _
    (ByVal hDc As Long , _
    lpPoint As POINTAPI, _
    ByVal nCount As Long ) As Long



    " (x3,y3) - начальная точка рисования "пером"
    " (x4,y4) - конечная точка рисования дуги
    Private Declare Function apiChord Lib "gdi32" Alias "Chord" _
    (ByVal hDc As Long , _
    ByVal X1 As Long , ByVal Y1 As Long , _


    " Функция заливает круг с помощью выбранного "пера"
    " (x1,y1 - x2,y2) ограничивающий прямоугольник для дуги
    " (x3,y3) - начальная точка рисования "пером"
    " (x4,y4) - конечная точка рисования дуги
    Private Declare Function apiPie Lib "gdi32" Alias "Pie" _
    (ByVal hDc As Long , _
    ByVal X1 As Long , ByVal Y1 As Long , _
    ByVal X2 As Long , ByVal Y2 As Long , _
    ByVal X3 As Long , ByVal Y3 As Long , _
    ByVal X4 As Long , ByVal Y4 As Long ) As Long

    "==============================================================
    " Назначение
    " Нарисовать объекты
    "
    Private Sub butExecute_Click()
    Dim hwnd As Long , hDc As Long "Окно и контекст рисования
    Dim X1 As Long , Y1 As Long , X2 As Long , Y2 As Long
    Dim xy(3) As POINTAPI "Точки рисования
    On Error GoTo 999

    "Очистить зону рисования
    Me.Refresh
    DoEvents

    "Поиск окна для рисования. Это решение предложено
    "Николаем Малютиным г.Якутск: [email protected]
    hwnd = FindWindowEx(Me.hwnd, FindWindowEx(Me.hwnd, 0, "OFormSub" , "" ), "OFormSub" , "" )

    "Выбираем контекст устройства
    hDc = apiGetDC(hwnd)

    "Координаты зоны рисования
    X1 = 15
    Y1 = 90
    X2 = 180
    Y2 = 250

    "Рисуем объекты
    Select Case Me.Объекты
    Case 1: "Точка - красная
    Call apiSetPixel(hDc, X2 / 2, Y2 / 2, RGB(255, 0, 0))
    Case 2: "Линия
    Call apiMoveTo(hDc, X1, Y1, xy(0)) "Передвигаем указатель
    Call apiLineTo(hDc, X2, Y2) "Рисуем линию
    Case 3: "Элипс
    Call apiEllipse(hDc, X1, Y1, X2, Y2 / 2)
    Case 4: "Прямоугольник - закрашенный
    Call apiRectangle(hDc, X1, Y1, X2, Y2)
    Case 5: "Дуга
    Call apiArc(hDc, X1, Y1, X2, Y2, 50, 100, 150, 150)
    Case 6, 7: "Ломаная, Заливка
    " Загружаем координаты
    xy(0).x = X1
    xy(0).Y = Y1
    xy(1).x = X1 + 20
    xy(1).Y = Y2
    xy(2).x = X2
    xy(2).Y = Y2 - 20
    If Me.Объекты = 6 Then "Ломаная
    Call apiPolyline(hDc, xy(0), UBound(xy))
    Else "Заливка
    Call apiPolygon(hDc, xy(0), UBound(xy))
    End If
    Case 8: "Заливка круга до хорды
    Call apiChord(hDc, X1, Y1, X2, Y2, 50, 100, 150, 150)
    Case 9: "Заливка круга из центра
    Call apiPie(hDc, X1, Y1, X2, Y2, 50, 100, 150, 150)
    End Select

    "Освобождаем контекст устройства
    Call apiReleaseDC(hwnd, hDc)
    Exit Sub
    999:
    MsgBox Err.Description "Ошибка
    Err.Clear
    End Sub

    Все примеры Microsoft Access

    – для добавления в форму фонового рисунка, например в главную кнопочную форму, необходимо запустить базу данных («Успеваемость студентов» с главной кнопочной формой) и на панели инструментов щелкнуть на кнопке Окно базы данных .

    – откроется Окно базы данных, в котором откройте кнопочную форму в режиме Конструктор .

    – открыть диалоговое окно Свойства кнопочной формы , которое можно открыть несколькими способами. Рассмотрим один из способов: откройте окно Свойства , щелкнув правой кнопкой мыши на кнопочной форме, и в контекстном меню выберите команду Свойства . Откроется окно Рисунок : Picture на вкладке Макет .

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

    – в этом окне надо указать имя и тип файла. По умолчанию Microsoft Office Access поддерживает форматы файлов.bmp, .dib, .wmf, .emf и.ico. Поэтому выберите рисунок с одним из указанных расширений и щелкните на кнопке ОК в окне диалога Выбор рисунка .

    – далее в окне Рисунок укажите тип рисунка, он может быть внедренным или связанным. Основные различия между связыванием и внедрением (встраиванием) заключаются в месте хранения данных и способе обновления данных после помещения их в документ. Внедренный рисунок является неотъемлемой частью формы, т.е. будет храниться в базе данных, увеличивая ее объем.

    Связанный объект – это данные (объект), созданные в одном файле и вставленные в другой файл с поддержкой связи между файлами. Связанный объект не является частью файла, в который он вставлен, а хранится в исходном файле в одной из директорий ПК, не увеличивая объем базы данных. Если рисунок или логотип фирмы необходимо разместить на каждой форме и в отчетах, то в этом случае целесообразно вставлять рисунок в виде связанного объекта.

    – выбираем внедренный рисунок, так как он является неотъемлемой часть БД, что обеспечивает копирование (скачивание) файла БД с сайта пользователями Интернет.

    – следующий шаг – это установка размеров рисунка. Масштабы рисунка имеют следующие значения.

    Содержимое баз данных (БД) хранится в таблицах, но пользователю информация традиционно представляется в больше комфортном виде – создаются формы и отчеты. Для наглядности в них включаются разные изображения: фотографии, картинки, эмблемы. Графические данные комфортнее беречь в особых полях таблиц. СУБД Microsoft Access поддерживает несколько вариантов загрузки изображений в базу данных.

    Вам понадобится

    • – СУБД Microsoft Access;
    • – графический файл, содержащий картинку.
    Инструкция

    1. Добавьте поле объекта OLE в таблицу базы данных. Именно в данном поле приложение Microsoft Access может беречь изображения. Откройте надобную БД и в закладке «Таблицы» выделите тот элемент, в тот, что вы хотите разместить изображение. Вызовите конструктор для таблицы. Редактируя ее конструкцию, добавьте еще одно поле с типом данных «Поле объекта OLE». Задайте ему имя и сбережете метаморфозы базы («Файл» – «Сберечь»).

    2. Разместите в сделанную ячейку поля OLE-объект, т.е. саму картинку . Для этого откройте таблицу в режиме просмотра. Вы увидите добавленный столбец. Установите курсор в требуемой ячейке и щелчком правой кнопкой мыши вызовите контекстное меню. Выберите команду «Добавить объект».

    3. В открывшемся диалоговом окне активируйте один из предложенных вариантов добавления. Дозволено вставить теснее присутствующий графический файл либо сотворить его вначале в соответствующем редакторе и после этого связать с нынешней базой данных. В первом случае выберите в поле «Тип объекта» приложение, в котором вы хотите сделать новое изображение, скажем, «Рисунок Paintbrush». Нажмите кнопку Ок, единовременно запустится программа-редактор. Внедрение объекта в базу данных закончится позже того, как вы, сделав картинку , закроете графическое приложение.

    4. Для вставки в табличное поле теснее присутствующей картинки выберите 2-й вариант – активируйте в диалоговом окне переключатель «Сотворить из файла». Нажмите на кнопку «Обзор…» и укажите путь и имя графического файла с изображением. Желанно на диске иметь картинку в формате.bmp либо.dib. По необходимости включите в окне флажок «Связь» – это дозволит СУБД отслеживать метаморфозы графического файла и перезагружать изображение в таблице.

    5. Удостоверите загрузку файла, нажав кнопку Ок, после этого сбережете саму базу данных. При открытии таблицы в режиме просмотра в поле объекта OLE будет отображаться не сама картинка, а надпись «Точечный рисунок». Графическое изображение будет загружаться из таблицы при создании и работе пользователя с формами и отчетами.

    Язык html не идеален и имеет ряд значительных недостатков. Для того дабы привязать картинку к определенному месту страницы, класснее для этого вставить ее при помощи таблицы. В этом случае изображение будет считаться фоном и поверх его дозволено разместить текст.

    Инструкция

    1. Изначально нужно сделать таблицу, если ее еще нет. Это действие совершается в признаке . Для этого применяются теги (закрывающий тег непременен):

    – таблица; – строка;
    – колонка.Основные добавочные признаки: Border – граница; Align – выравнивание по горизонтали; Valign – выравнивание по вертикали; Bordercolor – цвет рамки; Width – ширина; Height – высота.Синтаксис таблицы 2X2 без рамки и левосторонним/правосторонним выравниванием содержимого:
    Содержимое 1-й ячейки Содержимое 2-й ячейки
    Содержимое 3-й ячейки Содержимое 4-й ячейки

    2. Картинку надобно прописывать позже тега

    . Если вставить изображение в первую ячейку таблицы, представленной выше, то получится:
    Содержимое 2-й ячейки
    Содержимое 3-й ячейки Содержимое 4-й ячейки
    Добавочные признаки: Width – ширина; Height – высота; Alt – альтернативный текст, тот, что будет отображаться у пользователя, если у него отключена функция просмотра картинок; Align – выравнивание по горизонтали; Valign – выравнивание по вертикали; Title – подпись к изображению.

    3. Применять изображение дозволено в качестве ссылки. Для этого его довольно облачить в соответствующий тег: В контексте таблицы это будет выглядеть так:

    Содержимое 2-й ячейки
    Содержимое 3-й ячейки Содержимое 4-й ячейки

    4. Добавочные вероятности изображений. 1. Смена картинки на цвет при наведении на нее мышью и позже смены местоположения курсора:onMouseOver=”this.style.background=’#номер цвета"” onMouseOut=”this.style.background=’#номер цвета"”2. Смена картинки на другое изображение при наведении мышью:onmouseover=”this.src=’images/1.gif"” onmouseout=”this.src=’images/2.gif"”3. Вставка вращающейся карусели из картинок в ячейку таблицы (значения дозволено менять):

    // 7 variables to control behavior var Car_Image_Width=100; var Car_Image_Height=100; var Car_Border=true; // true or false var Car_Border_Color=”000000″; Border=”0″ var Car_Speed=5; var Car_Direction=true; // true or false var Car_NoOfSides=6; // must be 4, 6, 8 or 12/* array to specify images and optional links. For 4 sided carousel specify at least 2 images For 6 sided carousel specify at least 3 For 8 sided carousel specify at least 4 For 12 sided carousel specify at least 6 If Link is not needed keep it “”*/ Car_Image_Sources=new Array(“images/1.gif”,””, “images/2.gif”,””, “images/3.gif”,””, “images/4.gif”,””, “images/5.gif”,””, “images/6.gif”,”” // NOTE No comma after last line);/***************** DO NOT EDIT BELOW **********************************/ CW_I=new Array(Car_NoOfSides/2+1);C_ClcW=new Array(Car_NoOfSides/2); C_Coef=new Array(3*Math.PI/2,0,3*Math.PI/2,11*Math.PI/6,Math.PI/6,3*Math.PI/2,7*Math.PI/4, 0, Math.PI/4,3*Math.PI/2,5*Math.PI/3,11*Math.PI/6,0,Math.PI/6,Math.PI/3); var C_CoefOf=Car_NoOfSides==4?0:Car_NoOfSides==6?2:Car_NoOfSides==8?5:9; C_Pre_Img=new Array(Car_Image_Sources.length); var C_Angle=Car_Direction?Math.PI/(Car_NoOfSides/2):0,C_CrImg=Car_NoOfSides,C_MaxW,C_TotalW, C_Stppd=false,i,C_LeftOffset,C_HalfNo=Car_NoOfSides/2; function Carousel(){ if(document.getElementById){ for(i=0;i

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