Каждому юзеру по программе! 
  
 
Надоело мне смотреть 
  на сообщения об отсутствии библиотек и контролов, надоело любоваться искаженным 
  интерфейсом и жучками (bugs), которые выползают при малейшем движении мыши, 
  надоело постоянно, в порыве гнева, давить на Shift+Delete! Надоело!
 
Вот такими вот словами я начинаю 
  свою первую статью по программированию на Visual Basic. В этой статье я покажу 
  наиболее часто встречающиеся ошибки при разработке приложений, а так же варианты 
  их исправления.
 
Начну с начала
 
Все Вы, 
  наверное, знаете великого шутника дядю Билла (Bill Gates), который начал смеется 
  еще в 1985 году, когда создал первую версию Windows.
 
Большинство программистов, при разработке 
  приложений, не учитывают наличие разных версий операционных систем у пользователей, 
  их настройку, отсутствие используемых библиотек и контролов. Соответственно, 
  эти факторы неблагоприятно влияют на пользователей, да и на репутацию разработчика 
  тоже.
 
Начну, пожалуй, с самого начала, 
  дабы не знающие узнали, а не верующие поверили.
 
Приложение созданное на Visual Basic 
  v.6.0 требует наличия файла msvbvm60.dll. Ниже приведен список систем, 
  в которых этот файл есть/нет:
 
   
    | Windows 95/98 | нет; | 
   
    | Windows Me | есть, но не всегда; | 
   
    | Windows 2k | в большинстве случаев есть; | 
   
    | Windows XP | есть; | 
 
Приложение созданное на Visual Basic 
  NET, требует наличия файла mscoree.dll, которого пока нет ни в одной 
  из выше описанных ОС.
 
Если для Вас это не новость, то идем 
  дальше.
 
Шрифты
 
Шрифты это хорошо, не стандартные 
  шрифты еще лучше, только вот почему-то некоторые разработчики забывают их поставлять 
  вместе с приложением, сами понимаете, любоваться "аброй-кадаброй" 
  никому не понравится.
Ниже приведен список стандартных 
  шрифтов, которые можно смело использовать при разработке приложений:
  
 
Arial
  Arial Black
  Comic Sans MS
  Courier
  Courier New
  Fixedsys
  MS Sans Serif
  MS Serif
  Symbol
  System
  Tahoma
  Terminal
  Times New Roman
  Verdana
  Wingdings
  Wingdings 2
  Wingdings 3
  
 
Хочу также обратить Ваше внимание 
  на замечательные шрифты Wingdings, которые выполнят за Вас всю художественную 
  работу J
 
Окна и иконки
 
Как часто Вы ставите свойство формы(Form) 
  ControlBox = False, чтобы скрыть иконку?
  Думаю, что часто. В Windows 95/98/ME/2k скрытая Вами иконка останется скрытой, 
  а вот в Windows XP эта иконка будет отображаться на панели задач. Наверняка 
  Вы ее не изменяли и оставили стандартную vb-иконку. Делайте выводы.
  
 
Интерфейс
 
В создании программы важным и наиболее 
  трудоемким этапом является разработка интерфейса. Интерфейс должен быть предельно 
  прост и оригинален, и в то же время он должен придерживаться определенным стандартам.
  Основной деталью интерфейса, соответственно, является форма (Form). Я не буду 
  лезть в гремучий лес бесформенных окон, а приведу пример наиболее часто встречающейся 
  ошибки.
  
 
 Возьмите форму (Form) размером почти 
  на весь экран, оставьте примерно 2000 твипов (Twip) со всех сторон, расположите 
  ее по центру экрана (StartUpPostion = CeneterScreen), скомпилируйте проект. 
  Теперь жмите на ПУСК => НАСТРОЙКА => ПАНЕЛЬ УПРАВЛЕНИЯ => ЭКРАН => 
  НАСТРОЙКА => ДОПОЛНИТЕЛЬНО => ОБЩИЕ => РАЗМЕР ШРИФТА и ставьте КРУПНЫЙ 
  ШРИФТ (если уже стоит, то можете просто понизить разрешение экрана), нажимайте 
  OK и перезагружайте компьютер. Затем запустите, недавно скомпилированный, проект 
  и Вы окажетесь на месте значительной части пользователей находящейся, в основном, 
  на работе. Приятно? Думаю, что нет. Я уже не говорю о тех, у кого разрешение 
  экрана 640х480…
 
Для решения этой проблемы придется 
  вспомнить математику первого класса начальной школы и разделить размер экрана, 
  в данном случае, на 1.2.
 
Me.Width = Round(Screen.Width 
  / 1.2)
  Me.Height = Round(Screen.Height / 1.2)
  
 
Надеюсь, после этого Вы также не 
  будете устанавливать на форму картинку, поскольку при изменении размера окна, 
  картинка остается неизменной.
 
Что касается контролов, то с ними 
  придется повозиться, хотя ничего сложного в этом нет. Подробнее на эту тему 
  я напишу в следующий раз.
 
И напоследок, у некоторых контролов 
  есть замечательное свойство AutoSize, не забывайте пользоваться им.
 
Happy end
 
Пока хватит, об остальном напишу 
  в следующий раз, если Вы конечно не против ;)
 
Все вопросы по поводу статьи, 
  а также спам и вирусы присылайте на mfulgore@yandex.ru
Распространение данной статьи 
  разрешено, при условии сохранения ссылки на автора.
Copyright © Nemiro AS 04'2003