Создаем меню на стартовой формеИсточник: Accessboom
В этой статье я показал как можно заполнить формой всё MDI окно приложения Access и намекнул, что форма как нельзя лучше подходит для размещения логотипов, меню и т.п. Сначала создадим процедуру для вызова из Form_Open: Private Sub LabelLocation() ' это код уже описан в статье Стартовая (главная) форма приложения lngFormWidth = Me.InsideWidth Me.Detail.Height = 30000 'чтобы не ограничивало перемещение элементов по вертикали ' располагаем элементы оформления - в нижней части формы ' растягиваем надпись lblПодвал темно-зеленого цвета ' расположим txtРайон в правом нижнем углу ' необходимо дать команду Формат -> На передний план, чтобы линия не перекрывалась полем txtРайон linРайон.Left = lngFormWidth - (5670 + 350) Элементы оформления мы раскидали по углам. Теперь приступим к созданию меню: 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 ' количество пунктов меню ' начнем центрировать панели меню цикличным перебором элементов DoCmd.Echo True ' включим прорисовку экрана Меню, что мы сейчас расположили на форме, является статичным меню. Как "оживить" меню, читайте в следующей статье. |