Урок Delphi 13

Правила создания элементов интерфейса




Уроки Delphi
  1.  Первая программа
  2.  Использование компонентов
  3.  События Delphi
  4.  Типы данных Delphi
  5.  Создание своих типов данных
  6.  Выражения и операторы
  7.  Работа с файлами в Delphi
  8.  Дополнительные формы
  9.  Подпрограммы в Delphi
  10. Исключительные ситуации
  11. Взаимодействие приложения с пользователем
  12. Указатели в Delphi
  13. Обзор компонентов
  14. Работа со строками
  15. Создание интерфейса
  16. Графика в Delphi
  17. Многопоточность в Delphi
  18. Динамическое создание
        компонентов
Поиск по сайту




 Это важно:
   Метод Application.ProcessMessages;

 Это полезно:
   Параметр Sender в обработчиках событий;










Бояться не надо



   

Заголовок окна (Формы)

   Одним из важных элементов предоставления информации в программе является такой элемент интерфейса, как заголовок, "шапка" программы. Хотя бы потому, что это первое, что бросается в глаза при первом взгляде на работающую программу. Да и заголовок даже свёрнутой на панели задач всё равно продолжает выполнять свою функцию. Исходя из этого, и нужно установить ту информацию и порядок её вывода, которую мы хотим видеть в заголовке.
   Итак, в заголовке обычно содержится название программы, и, возможно, название документа, с которым программа работает в данный момент. Взгляните хотя бы на заголовок вашего браузера, в который загружена эта страничка, которую вы в данный момент читаете.
   Отсюда общий совет - в заголовке первым должно идти название документа, а затем название программы. Хотя бы потому, что именно название документа нас и интересует прежде всего. А поскольку читаем мы слева направо, то бросив взгляд на экран, мы сразу именно его и увидим . В противном случае мы были бы вынуждены пробежать глазами название браузера, и это усложнило бы восприятие нужной информации.
   К тому же, если в заголовке первым идёт название документа, то мы всё равно сможем прочесть его на кнопке программы, даже свёрнутой на панели задач. Чего явно не смогли бы, если бы первым было не нужное нам в данном случае название браузера.

Командные кнопки

   Начинающим разработчикам программ не следует разрабатывать свои собственные пиктограммы к кнопкам со стандартными функциями. Во-первых, качество графики обычно невысоко, что сразу выдаёт непрофессионала. Во-вторых, иногда оригинальных пиктограмм на все кнопки может не хватить, и некоторые кнопки будут обладать только надписями, без рисунков, это сразу бросается в глаза и не прибавляет программе привлекательности. Так что лучше вообще не использовать пиктограммы. Наверное, единственный тип программ, где это безусловно оправдано, это Игры. В игровых програмах графический интерфейс может оживить работу, особенно если дизайн интерфейса стилистически совпадает с графикой самой игры.
   Далее. При создании программы автор наверняка захочет придать ей черты искусственного интеллекта. Для этого при программировании кнопок часто используют свойство Enabled, и кнопка активируется, например, только если пользователь полностью и корректно ввёл данные в форму ввода. В некоторых случаях такая корректность не так очевидна пользователю, как это кажется программисту во время разработки. Поэтому необходимо либо, если кнопка неактивна во время ввода, сразу выводить подсказку при неправильном вводе, либо кнопка ввода данных вообще не должна блокироваться, и при наличии ошибок в данных такая подсказка должна появляться при нажатии кнопки. Чтобы пользователь в бессильном ступоре не сидел, размышляя, где он что-либо сделал не так.

Текстовые надписи

   Для выведения текстовых надписей в Delphi чаще всего используют компонент Label. Чтобы с его использованием в интерфейсе не возникло "помарок", достаточно следить за двумя параметрами.
   Первое. Если свойство AutoSize установлено в True, то есть гарантия, что даже при последующем изменении размеров шрифта или увеличении количества символов в тексте он весь поместится в размеры компонента Label.
   И второе замечание относительно текста, отображаемого компонентом Delphi Label. Хотя по умолчанию цвет метки и цвет Формы одинаковы, свойство Transparent компонента Label лучше установить в True, тогда при решении изменить цвета текста или Формы фон самой метки не будет смотреться "чужеродным" пятном на Форме.

Меню

   Меню - набор команд, предназначенных для управления программой, которые пользователь может выбрать из предлагаемого списка. Это один из самых первых, универсальных и удобных способов организации интерфейса.
   Несмотря на то, что управлять программой можно также с помощью набора кнопок, собранных зачастую в панель инструментов, от добавления меню отказываться не нужно. Многие пользователи привыкли работать именно с меню, управляя им с клавиатуры, что зачастую удобнее и быстрее, чем перемещение курсора мышки к нужной кнопке. Поэтому, создавая главное меню программы, не забывайте использовать подчёркивание первого символа команды:

File   Edit   View

   Это даст возможность пользователю, работая с клавиатурой, например печатая текст, выбрать нужную команду, не хватаясь за мышку, тратя на это время и внимание.
   Предоставьте пользователю возможность выбора. Даже создав кнопочную панель инструментов, продублируйте команды управления в меню. Тем более что меню - не просто элемент управления, но и постоянно находящаяся на виду "подсказка", позволяющая одним движением мышки вдоль её пунктов выяснить функциональность, набор команд приложения, и даже пояснение функций кнопок панели управления.
   Итак, Главное меню в программе пусть будет, даже если в нём не будет других команд кроме Выход, по традиции находящейся в меню Файл. Ведь многие пользователи просто привыкли закрывать пограмму именно так. Добавьте ещё один пункт меню верхнего уровня - Справка. Дополнительный элемент не даст пункту Файл смотреться одиноко, уравновесит его. Поместите туда хотя бы пункты О программе, Об авторе, тем более, если программу предполагается продавать. Ведь будущие покупатели должны знать, куда слать свои денежки!

   Ещё один вид меню, которое никогда не стоит игнорировать - контекстные меню, вызываемые нажатием правой кнопки мыши. Обязательно разрабатывайте их для своей новой программы. Операционая система Windows приучила пользователей, что все объекты имеют его. Поэтому программа, в которой они отсутствуют, выглядит "глухой" - не понимающей, чего от неё хочет пользователь, привычно нажавший правую кнопку мыши.

   Уделите время разработке этого элемента интерфейса, и усилия обязательно окупятся. Только не забывайте, что меню должно быть именно контекстным, то есть динамическим, для данного объекта имеющим только относящиеся к нему команды. В Delphi это достигается применением нескольких компонентов PopupMenu - каждый для своего объекта, или управлением видимостью соответствующих пунктов единого меню с помощью их свойства Visible, если применение нескольких компонентов нецелесообразно.

   Однако, свойством Visible применительно к меню одного и того же компонента не стоит злоупотреблять. Вместо исчезновения ненужного в данной ситуации пункта лучше заблокировать его с помощью свойства Enabled. Иначе, может возникнуть ситуация, что некоторые пункты меню вечно будут невидимы, и пользователь может и не подозревать о их наличии.

Списки

   

Флажки и переключатели

   

Панели инструментов

   

Вкладки

   

Всплывающие подсказки

   

Осторожно: скины

   


Работа со строками Delphi           В начало урока          Следующий урок Delphi  

Уроки Delphi начинающим







© 2023 Delphi-Manual.ru - Уроки Delphi начинающим с нуля