TopPicLogo TopPicText

Выделение записи в Ленточной форме - 3 варианта (+ пример)

Вариант 1
(все поля данных недоступны для курсора)
---------------------------------------------------------------------------------------
01. Создаем доступное поле и его свойства:
        a. Рамка плоская и не видима
            b. Цвет фона (Back Color) = цвет выделения (в примере ярко синий)
            c. Фон = ПРОЗРАЧНЫЙ
            d. Длинна = Длинна формы
            e. Высота = по вкусу
            f. Размешение = поверх строки данных внизу

02. Теперь при попадании курсора на это поле оно будет возвращать свой старый цвет фона т.е. будет эффект подчеркивания

Picture

Вариант 2
(аналогичен первому но поля уже доступны)
---------------------------------------------------------------------------------------
01. Задаем цвет фона полей = Желтый (или по вкусу)
02. Делаем фон области данных формы = белый (или по вкусу)
03. Делаем фон полей = прозрачный
04. Теперь при попадании курсора в поле оно будет восстанавливать свой фоновой цвет несмотря на прозрачность.

Picture

Вариант 3
(самый сложный с рисунками)
---------------------------------------------------------------------------------------
01. Создаем рисунок размером в 1 пиксел с цветом = Цвет выделения (желтый)
02. Создаем в таблице базовой для формы поле со свойствами:
            a. Название = GD_Ole (это как в примере на самом деле может быть любым)
            b. Размер поля = Байт
            c. Знач по умолчанию =0
    03. Создаем таблицу «Pictures» для хранения рисунков с полями:
            a. PicID
                        i. Формат = Числовой
                        ii. Размер = Байт
                        iii. Входит в уник. Индекс
            b. Pic
                        i. Формат = Поле объекта OLE
04. Добавляем записи в таблицу «Pictures» (см. Пример)
            a. Первая с кодом =0 – пустая
            b. Вторая с кодом =1 в поле PIC вставляем рисунок скопированный в буфер обмена
            c. Третья (факультативно) аналогичным способом
05. Создаем запрос со связью базовой таблицы данных и таблицы Pictures таким образом что бы поле картинки (PIC) зависело от значения поля базовой таблицы данных (поле «GD_Ole») - см. запрос «FORM_List03_Set»
06. Базируем форму на запросе
07. Добавляем в форму поле «PIC» как присоединенную рамка обьекта
            а) поле «PIC» делаем недоступным для курсора
            b) Свойство «Установка размеров» = Вписать в рамку
            c) Помещаем его под все видимые (и прозрачные уже) поля

08. Создаем в модуле формы две процедуры для выделения (GotFocus()) и снятия выделения (LostFocus()) изменяя значение поля «GD_Ole»

Private Sub GotFocus() 
	    Me![GD_Ole] = 1 
	    DoCmd.RunCommand acCmdSaveRecord 
End Sub 
‘------------------------------------------------------ 
Private Sub LostFocus() 
	    Me![GD_Ole] = 0 
	    DoCmd.RunCommand acCmdSaveRecord 
End Sub 
‘------------------------------------------------------ 

09. На событие Получение фокуса (GotFocus) каждого доступного поля формы вешаем вызов процедуры GotFocus()
10. На событие Потеря фокуса (LostFocus) каждого доступного поля формы вешаем вызов процедуры LostFocus()

Picture







Скачать

MSA-2003 ( 118 kB) Пример





Назад ToTop
L.E. 17.01.2013
Рейтинг@Mail.ru