(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Создаем меню на стартовой форме

 

В этой статье я показал как можно заполнить формой всё MDI окно приложения Access и намекнул, что форма как нельзя лучше подходит для размещения логотипов, меню и т.п.

Сначала создадим процедуру для вызова из Form_Open:
 

Private Sub LabelLocation()
Dim lngFormHeight As Long ' для хранения высоты развернутой формы
Dim lngFormWidth As Long ' для хранения ширины развернутой формы
Dim I As Integer
Dim lngСмещение As Long ' для хранения величины смещения элементов меню
Dim lngLeftPoint As Long ' левая точка отсчета
 

' это код уже описан в статье Стартовая (главная) форма приложения
DoCmd.Echo False
DoCmd.Maximize

lngFormWidth = Me.InsideWidth
lngFormHeight = Me.InsideHeight
DoCmd.Restore
DoCmd.MoveSize 0, 0, lngFormWidth, lngFormHeight

Me.Detail.Height = 30000 'чтобы не ограничивало перемещение элементов по вертикали

' располагаем элементы оформления - в нижней части формы

' растягиваем надпись lblПодвал темно-зеленого цвета
lblПодвал.Left = 5
lblПодвал.Height = lngFormHeight \ 4 ' высота подвала 1/4 высоты формы
lblПодвал.Width = lngFormWidth
lblПодвал.Top = lngFormHeight - lblПодвал.Height - 5

' расположим txtРайон в правом нижнем углу
txtРайон.Left = lngFormWidth - (5670 + 400)
txtРайон.Height = 284
txtРайон.Width = 5670
txtРайон.Top = lngFormHeight - (txtРайон.Height + 100)
' подчеркнем поле txtРайон для красоты

' необходимо дать команду Формат -> На передний план, чтобы линия не перекрывалась полем txtРайон

linРайон.Left = lngFormWidth - (5670 + 350)
linРайон.Width = 5670
linРайон.Top = lngFormHeight - 150
' расположим рисунок picLogo в левом нижнем углу формы
picLogo.Left = 5
picLogo.Top = lngFormHeight - (picLogo.Height)
 

Элементы оформления мы раскидали по углам. Теперь приступим к созданию меню:

lngСмещение = 283 ' величина смещения - от нее зависит "наклон" лесенки

Тут необходимо немного объяснить как устроено меню. Каждый элемент меню состоит из 4 элементов - 2 рисунков и 2 надписей. Рисунок imgNUp содержит картинку по умолчанию, рисунок imgNDown показывает картинку, когда пользователь наводит мышкой на элемент меню. Картинки я заимствовал с сайта Stardock.com - у них там выложены простыни наборов иконок - мне больше ничего не надо было. Придал всей простыне зеленоватый цвет, аккуратно вырезал необходимые иконки, залил фон картинок цветом фона стартовой формы и разложил в элементы Image по пунктам.

Надпись lblNTitle содержит название пункта - оно же и подсвечивается, когда над элементом меню проводят мышкой. Надпись lblNComment содержит пояснительную информацию к пункту и не интерактивно.

Мое меню содержит 6 пунктов - Вы можете сделать любое количество - создайте рисунки и надписи по шаблону типа: imgNUp, imgNDown, lblNTitle, lblNComment увеличьте количество проходов (For I = 1 to N). Обратите внимание, расположение пунктов меню идет только по горизонтали, поэтому Вам придется сначала самим распределить пункты по вертикали, как Вам удобней. Еще замечание: при небольших разрешениях экрана или окна приложения Access темно-зеленая надпись lblПодвал может "залезть" под пункты меню - картинки, обладая светлым фоном, на темно-зеленой надписи они будут смотреться неопрятно.

' значение левого угла для вырвнивания пунктов меню по середине

lngLeftPoint = (lngFormWidth - Me.img1Up.Width) / 2

For I = 1 To intItemCount

' в разделе объявлений переменных модуля формы впишите

' Private Const intItemCount = 6 ' количество пунктов меню

' начнем центрировать панели меню цикличным перебором элементов
Me("img" & I & "Up").Left = lngLeftPoint
Me("img" & I & "Down").Left = lngLeftPoint
Me("lbl" & I & "Title").Left = lngLeftPoint + 750
Me("lbl" & I & "Comment").Left = lngLeftPoint + 750
lngLeftPoint = lngLeftPoint + lngСмещение
Next

DoCmd.Echo True ' включим прорисовку экрана
End Sub
 

Меню, что мы сейчас расположили на форме, является статичным меню. Как "оживить" меню, читайте в следующей статье.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 10.10.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft 365 Apps for business (corporate)
Microsoft 365 Business Standard (corporate)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерные книги. Рецензии и отзывы
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100