Окончание, начало см. в МК № 33-34, 39, 42 (256-257, 262, 265).
О «вдавленных кнопках»
В некоторых программах встречаются «вдавленные» кнопки, которые смотрятся как-то лучше обычных. Их просто сделать, поместив CommandButton в PictureBox и подогнав размеры последнего вручную. Вот как это будет выглядеть (см. Рис. 1). Подобные фокусы можно вытворять и с другими элементами управления.
О разделителях
Иногда для пущего благообразия в окно добавляют разделитель (Line вспомните рельефную полоску над кнопками Справка, < Назад, Далее >, Отмена в большинстве инсталляторов). В своем стандартном About-окне VB предлагает использовать связку из двух Line, но это не лучший вариант. Лучше использовать Frame с Caption=”” и Height=115. Я понятия не имею, почему такая цифра! Наверно, БГ оставил лазейку для программистов Microsoft.
О шрифтах
Для стандартных control’ов VB по умолчанию предлагает шрифт MS Sans Serif. Внешний вид этого шрифта довольно архаичный, поэтому если вам нужно, чтобы юзер считал вашу программу красивой, но не мог понять, в чем же дело, храбро заменяйте свойство Font для всех элементов управления, его имеющих, на Tahoma. Tahoma 8 в программе лучший выбор.
О некоторых хороших свойствах Label
Если вам нужно, чтобы ваш Label отбрасывал тень, создайте второй такой же, сдвиньте его вправо и вниз на пару-тройку пикселей, не забыв перенести его на задний план и изменить цвет. При этом необходимо, чтобы фон хотя бы переднего Label был прозрачен (т.е. чтобы сквозь дырку в букве «о» просвечивала картинка, etc). Для этого надо установить BackStyle=0 (Transparent). Очень эффектно выглядит связка Label1 (Times New Roman, Italic, vbBlue) и Label2 (Times New Roman, Italic, RGB(128,128,128)), сдвинутый вправо и вниз на 2 пикселя. Особенно при FontSize>20.
Общие советы
У каждого человека есть чувство вкуса, но не каждый этим чувством пользуется, поэтому его надо развивать. Если вам не нравится интерфейс вашей программы, попробуйте понять, в чем дело, спросить у кого-нибудь совета. Если интерфейс не нравится только вам, не волнуйтесь это обычное чувство неудовлетворения результатами своего труда (это когда много трудишься и мало получаешь), свойственное каждому программисту. Самое главное здесь соблюдать баланс, общую схему. Весьма странно выглядят два почти одинаковых диалоговых окна, оформленных совсем по-разному. Старайтесь, чтобы ваша программа была составлена по четкому логическому плану. Пользователи воспринимают четкую логическую схему как «понятность» или «доступность». Лучший критерий здесь если юзер, еще не изучив программу, будет точно знать, что и где искать, значит, программа логична. А если расчет простых чисел будет в меню «Файл», а команда «Сохранить» в окне «Дополнительно» вкладки «Прочее» окна «Сервис > Настройки», то вряд ли кто-то возжелает продолжать знакомство с вашей программой; скорее всего ваша программа окажется в «Корзине», да и то ненадолго. Еще совет не переусердствуйте с оригинальностью интерфейса. Видел я как-то одну программу Insane Flash Animator. Видимо, ее создатели решили во что бы то ни стало запомниться юзеру и создали что-то такое, на серый Windows-интерфейс совсем не похожее, что у меня на 350 MГц/128 Mб ОЗУ тормозило даже в «пустом» режиме!
Для тех, кто пишет простые программы, могу посоветовать «ежедневные правила»: первым делом изменяйте Caption, Icon (имхо, иконка для форм VB выбрана неудачно) и BorderStyle формы (на Fixed Single).
Успехов вам в освоении дебрей дизайна интерфейса! В скором будущем постараюсь рассказать еще что-нибудь на эту интересную и важную тему.
Глоссарий
API-функция от английского «Application Program Interface» интерфейс программных приложений средство, предоставляемое Windows для выполнения стандартных задач, например, создания окна, доступа к диску, настройки связи между программами, компьютерами в сети etc; набор функций из стандартных DLL’ей Windows kernel, gdi, shell, advapi и многих других. Использование API-функций напрямую хороший способ облегчить свои программы раз эдак в 10 и заработать шизофрению. Для всех использованных в программе API-функций необходимо наличие их объявления, которое берется в API Text Loader (входит в поставку VB). Обратите особое внимание на такой факт: если вы включаете объявление в текст модуля, оно должно предваряться ключевым словом Public, а если в текст формы то Private.
CTL см. Control.
Control элемент управления кнопка, список, полоса прокрутки, рамка, флажок, радиокнопка etc. VB позволяет создавать свои собственные элементы управления, называя их UserControl’ами (нельзя было ProgrammerControl’ами, что ли?! :-)) и сохраняя их в файлы с расширением .ctl (поэтому в тексте элементы управления, созданные программистом, называются CTL) и компилируя их в файлы .ocx (названные OCX’ами).
Design-time этап разработки программы (т.е. не во время ее запуска или исполнения).
Handle Windows всем имеющимся окнам присваивает уникальный идентификатор целое длинное число, которое служит для идентификации окна и операций с ним. В API-функциях возможен только такой способ работы с окнами.