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



    
rambler's top100 Rambler's Top100