VBA для чайников
Шрифт:
Глава 19. Еще о VBA-формах.
В этой главе ...
~ Выбор цвета и добавление изображений к формам и элементам управления
~ Настройка указателя мыши
~ Использование дополнительных параметров элементов управления
~ Проверка правильности вводимых данных и другие приемы
Материал настоящей главы дополняет сведения, изложенные в главе 10, предлагая вам советы о проектировании и программировании VBA-форм.
О внешнем виде форм и элементов
Хотя вы можете изменить параметры, относящиеся к внешнему виду форм и элементов управления, с помощью программного кода, чаше всего делать это не имеет смысла. Лучше воспользоваться диалоговым окном Properties для выбора всех необходимых настроек (подробности об использовании диалогового окна свойства редактора Visual Basic изложены в главе 10).
Выбор цветов
Значения свойств ForeColor и BackColor задают соответственно цвет переднего плана и цвет фона для форм и элементов управления. Для элементов управления значение свойства ForeColor задает цвет текста, размещаемого на элементе управления. Это свойство недоступно для тех элементов управления, на которых текст разместить нельзя. В случае форм значение свойства ForeColor задает цвет, который будет использоваться по умолчанию для всех новых размещаемых на форме элементов управления, а также для сетки на форме (эта сетка видна только в режиме проектирования формы).
Все относящиеся к выбору цветов свойства используются одинаково. После щелчка на кнопке со стрелкой в поле свойства, относящегося к цвету, появляется приятное на вид небольшое окно, в котором, несмотря на его небольшой размер, будет целые две вкладки (рис. 19.1).
На вкладке System (Системные) (рис. 19.1, слева) можно выбрать цвет из системной палитры Windows, т.е. из цветов, заданных в панели управления Windows для элементов интерфейса Windows. Если из списка выбрать пункт типа Desktop (Рабочий стол) или Button Face (Поверхность кнопки), VBA будет автоматически корректировать хранящееся в свойстве значение цвета при изменении соответствующих параметров в панели управления Windows.
Рис. 19.1. Здесь показаны обе вкладки диалогового окна выбора цвета в VBA
На вкладке Palette (Палитра) (рис. 19.1, справа) можно выбрать цвет из предлагаемой палитры. VBA автоматически назначит свойству числовое значение выбранного цвета. В общем, довольно просто.
Выбор шрифтов
Хотя текст, который вы размешаете в форме и элементах управления, используя параметры, предлагаемые VBA по умолчанию, выглядит вполне сносно, можно выбрать гарнитуры шрифтов по своему вкусу. С помощью свойства Font (Шрифт), которое есть у форм и большинства элементов управления, вы можете выбрать для текста любой из шрифтов, установленных в системе.
Свойство Font формы на самом деле ничего не меняет в самой форме. Шрифт для заголовка формы, видимый в ее строке заголовка, задается системными установками в панели управления Windows. Свойство Font задает шрифт, который будет использоваться по умолчанию для текста тех элементов управления, которые добавляются в форму.
Из этого можно извлечь такой вывод: если вы собираетесь использовать какой-то нестандартный шрифт для всех элементов управления в форме, установите подходящее значение свойства Font для формы. Тогда вам не придется менять свойства Font для каждого из элементов управления по отдельности.
Чтобы выбрать шрифт для формы или элемента управления,
Если вы подумываете об использовании нестандартных шрифтов, имейте в виду два связанных с этим потенциально неприятных момента. Первый момент практический; если вы собираетесь распространять свою программу, то пользователям вашей программы нужно будет установить все использованные вами особые шрифты, поскольку в случае отсутствия каких-либо шрифтов Windows использует подстановки, и кто знает, как будут выглядеть шрифты, подставленные вместо ваших? Другой момент чисто эстетический: непривычные шрифты, как и комбинации различных гарнитур шрифтов, отвлекают внимание на себя, вместо того чтобы подчеркивать функциональное назначение формы.
Рис. 19.2. В таком диалоговом окне выбирается шрифт, который будет использоваться по умолчанию для формы или текста на элементе управления
Простые фокусы с мышью
В VBA есть несколько свойств, которые позволяют управлять тем, что увидят пользователи программы при разглядывании формы, двигая указатель мыши туда-сюда по экрану.
Самое главное, что никакого программирования событий при этом не требуется!
В любом профессионально изготовленном приложении вид указателя мыши зависит от того, над каким сегментом экрана он находится. И вы, как настоящий профессионал, непременно должны добавить такую эффектную возможность в свои VBA-программы. Тем более, для этого вам придется изменить значения лишь одного-двух свойств. Вот что нужно сделать.
1. Выделите форму или элемент управления, для которого потребуется изменить вид указателя мыши.
2. Найдите в списке окна свойств свойство MousePointer и щелкните в поле этого свойства.
3. Выберите подходящий пункт из раскрывающегося списка этого поля.
Все пункты раскрывающегося списка, кроме одного, соответствуют указателям мыши, задаваемым с помощью панели управления Windows (конкретно, на вкладке Указатели панели управления Мышь). Так что при выборе этих пунктов вид указателя в выполняемой программе будет на самом деле зависеть от той графики, которая назначена соответствующему типу указателя в панели управления Windows.
Если назначить специальный указатель мыши форме, то он получит соответствующий вид в рамках формы, включая все ее элементы управления (кроме тех, которым приписаны указатели иного вида).
Не исключено, что вам понравится идея появления изображения черепа со скрещенными костями, когда указатель мыши будет пересекать недоступный элемент управления, - неважно, какой, и независимо от установок в панели управления Windows.
Или, может быть, вы захотите видеть более приятное изображение, например золотую рыбку (рис. 19.3).
Рис. 19.3. Пользовательский указатель мыши на форме VBA
Превратить имеющееся графическое изображение в пользовательский указатель мыши несложно. Вот соответствующие инструкции.
1. Создайте новую пиктограмму или возьмите готовую из коллекции рисунков.
Изображение нужно сохранить в стандартном формате Windows для пиктограмм, в файле с расширением .ico
2. Выполнив инструкцию, предложенную в предыдущем разделе "Изменение вида указателя мыши", установите для свойства MousePointer формы значение 99.