- Любовные романы
- Фантастика и фэнтези
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
VBA для чайников - Стив Каммингс
Шрифт:
Интервал:
Закладка:
Рис. 19.2. В таком диалоговом окне выбирается шрифт, который будет использоваться по умолчанию для формы или текста на элементе управления
Простые фокусы с мышью
В VBA есть несколько свойств, которые позволяют управлять тем, что увидят пользователи программы при разглядывании формы, двигая указатель мыши туда-сюда по экрану.
Самое главное, что никакого программирования событий при этом не требуется!
В любом профессионально изготовленном приложении вид указателя мыши зависит от того, над каким сегментом экрана он находится. И вы, как настоящий профессионал, непременно должны добавить такую эффектную возможность в свои VBA-программы. Тем более, для этого вам придется изменить значения лишь одного-двух свойств. Вот что нужно сделать.
1. Выделите форму или элемент управления, для которого потребуется изменить вид указателя мыши.
2. Найдите в списке окна свойств свойство MousePointer и щелкните в поле этого свойства.
3. Выберите подходящий пункт из раскрывающегося списка этого поля.
Все пункты раскрывающегося списка, кроме одного, соответствуют указателям мыши, задаваемым с помощью панели управления Windows (конкретно, на вкладке Указатели панели управления Мышь). Так что при выборе этих пунктов вид указателя в выполняемой программе будет на самом деле зависеть от той графики, которая назначена соответствующему типу указателя в панели управления Windows.
Если назначить специальный указатель мыши форме, то он получит соответствующий вид в рамках формы, включая все ее элементы управления (кроме тех, которым приписаны указатели иного вида).
Не исключено, что вам понравится идея появления изображения черепа со скрещенными костями, когда указатель мыши будет пересекать недоступный элемент управления, - неважно, какой, и независимо от установок в панели управления Windows.
Или, может быть, вы захотите видеть более приятное изображение, например золотую рыбку (рис. 19.3).
Рис. 19.3. Пользовательский указатель мыши на форме VBA
Превратить имеющееся графическое изображение в пользовательский указатель мыши несложно. Вот соответствующие инструкции.
1. Создайте новую пиктограмму или возьмите готовую из коллекции рисунков.
Изображение нужно сохранить в стандартном формате Windows для пиктограмм, в файле с расширением .ico
2. Выполнив инструкцию, предложенную в предыдущем разделе "Изменение вида указателя мыши", установите для свойства MousePointer формы значение 99.
3. Щелкните в поле свойства MouseIcon.
4. Щелкните на кнопке, вызывающей диалоговое окно (на кнопке с многоточием).
VBA откроет диалоговое окно Load Picture (Загрузка рисунка), с помощью которого можно найти и открыть файл с картинкой для вашего указателя мыши.
Вы можете даже связать со своими формами всплывающие подсказки - небольшие текстовые сообщения, которые появляются рядом с указателем мыши при задержке последнего на секунду-другую на элементе управления. Всплывающие подсказки являются прекрасным средством ненавязчивого информирования пользователя о назначении элемента управления.
И еще, всплывающие подсказки предусмотрены только для элементов управления, но не для содержащей их формы.
Чтобы назначить элементу управления всплывающую подсказку, просто напечатайте подходящий текст в поле свойства Tool Tip. Пример того, что вы можете получить, показан на рис. 19.4.
Нельзя навсегда подавить свои художественные порывы, поэтому придет время, когда вы захотите украсить форму или ее элементы управления рисунками. В дополнение к возможности выбирать цвет для тривиальных текстовых окон, вы можете размещать изображения на кнопках, флажках, переключателях, фреймах и других элементах управления. Результат подобного творчества показан на рис. 19.5.
Рис. 19.4. ЧТО же делает эта кнопка? Указания на этот счет дает всплывающая подсказка
Элемент управления Image (Изображение)- тот элемент управления в панели
Toolbox, пиктограмма которого напоминает картину,- можно использовать не только для того, чтобы размещать в нем изображения. Элемент управления Image - это, по сути, просто надпись без заголовка. Поэтому вы можете для размещения изображений использовать элемент управления надписью ( Label ), очистив поле свойства Caption (Заголовок), если текст на элементе управления не нужен.
Рис. 19.5. В эту форму и ее элементы управления добавлены изображения
Не волнуйтесь, хотя работа с графикой не считается простой для начинающего программиста, но VBA превращает процесс в почти тривиальный. Вот инструкции, которым вам нужно следовать в данном случае.
1. Щелкните на форме или элементе управления, куда нужно поместить прекрасный рисунок.
2. В окне свойств для выделенного объекта щелкните в поле свойства Picture.
3. Щелкните на открывающей диалоговое окно кнопке с многоточием, которая теперь появилась в поле свойства Picture.
4. В открывшемся диалоговом окне Load Picture (Загрузка рисунка) найдите файл с нужным изображением и щелкните на кнопке Открыть, чтобы добавить изображение в объект.
В форме (или элементе управления) появится рисунок.
5. Используйте свойства PictureAlignment, PictureSizeMode и Picture Tiling (если они есть у того объекта, с которым вы работаете), чтобы разместить рисунок так, как вам нравится. Вот некоторые подробности об этих свойствах.
* Выбрав подходящее значение свойства PictureAlignment, можно разместить изображение либо по центру, либо в углу объекта.
* Выбрав подходящее значение свойства PictureSizeMode, можно либо растянуть изображение так, чтобы оно заняло всю поверхность объекта (соответствующее значение- fmPictureSizeModeStretch), либо пропорционально сжать изображение, чтобы оно поместилось в объекте (fmPictureSizeModeZoom). либо оставить размер изображения как есть, обрезав лишнее (fmPictureSizeModeClip).
* Для свойства Picture Tiling допускаются всего два значения- True (т.е. VBA нужно размножить изображение и заполнить копиями весь объект) и False.
Поиграв некоторое время с рисунками в формах, не исключено, что вы придете к выводу, что "спартанский" вид для форм предпочтительнее. Чтобы удалить изображение из элемента управления или формы, щелкните в поле свойства Picture в окне свойств, а затем нажмите клавишу <Delete>. Другие методы не работают - ни нажатие <Ctrl+X>, ни нажатие клавиши пробела или печатание и даже нажатие клавиши <Backspace>.
Другие возможности форматирования
По большей части, другие опции меню Format применимы и к отдельным элементам управления, и к их группам. Выделив один или несколько элементов управления, вы можете использовать следующие опции.
* Center in Form (Центрировать в форме) - чтобы центрировать объекты по вертикали или по горизонтали. Если выделено несколько элементов управления, эта команда выставляет все элементы управления по средней линии, а не центрирует набор как одно целое (чтобы получить последнее, сначала нужно сгруппировать элементы управления).
* Arrange Buttons (Выстроить кнопки) - чтобы разместить одну или несколько выделенных кнопок у нижнего или у правого края формы. Команда Arrange Buttons работает и тогда, когда выделены не только кнопки, но перемещаются в результате выполнения этой команды только кнопки.
* Size to Fit (Задать размеры в соответствии с содержимым) - чтобы заставить VBA привести размеры элемента(ов) управления в точное соответствие с размерами содержащегося в нем текста. Эта команда действует одноразово - она не устанавливает для свойства AutoSize значение True, так что при изменении текста в элементе управления размеры последнего не изменятся.
* Size to Grid (Задать размеры по сетке) - чтобы сдвинуть все стороны элемента(ов) управления к ближайшим линиям сетки.
В редакторе Visual Basic нет команды, позволяющей равномерно распределить элементы управления в форме по горизонтали или вертикали. Однако приблизительно то же самое можно сделать достаточно просто с помощью такой последовательности действий (все упомянутые здесь команды находятся в меню Format).
1. Разместите элементы управления с помощью мыши примерно так, как вам нужно.
2. Выделите эти элементы управления и активизируйте команду Align=Tops
(Выровнять=По верху) или любую другую команду выравнивания по горизонтали.
3. Оставив все элементы управления выделенными, активизируйте команду
Horizontal Spaclng=Make Equal (Расстояние по горизонтали = Сделать одинаковым).
4. Сгруппируйте выделенные элементы управления (т.е. активизируйте команду
Group (Сгруппировать)).
5. Активизируйте команду Center in Form Horizontally (Центрировать в форме по горизонтали).
В вышеприведенной инструкции предполагалось равномерно распределить элементы управления по горизонтали. Чтобы распределить их равномерно по вертикали, выберите в пп. 2, 3 и 5 версии команд, соответствующие действиям по вертикали.
Дополнительно о работе с элементами управления
В главе 10 вы познакомились с наиболее важными элементами управления и их использованием. В настоящем разделе я дам вам дополнительные советы о работе с отдельными типами элементами управления, а также расскажу об элементах управления, которым не нашлось места в главе 10.