Sign in Join
Wiki copytemporary

GUI design guidelines/ru: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Эти принципы применяются **для IDE Lazarus**, но также могут быть использованы и для других проектов.
22
33## Общее
44
55Все диалоги и окна не должны использовать фиксированные размеры. Имейте в виду, что размеры шрифтов и переведённых надписей могут меняться. Используйте сплиттеры и панели. Все формы и диалоги должны работать на экране с разрешением 800x600 или выше.
66
77## Диалоги (модальные формы)
88
99Диалоги - это специальные формы, в которых пользователю нужно сделать/изменить некоторые установки, прежде чем Lazarus сможет продолжить работу.
1010
1111- Закрывайте по клавише Escape (если клавиша не используется другим образом)
1212- Назначайте кнопку по умолчанию, которая будет активироваться по нажатию Enter (если клавиша не используется другим образом)
1313- Если диалог имеет прокручиваемое содержимое (например, содержит TMemo, TListBox, TTreeView), то он должен быть изменяемого размера и размер должен сохраняться.
1414
1515### Настройки диалога
1616
1717Установки, которые обычно применяются:
1818
1919- **BorderStyle** :
2020 - `bsSizeable` - если диалог является сложным и изменение размера действительно необходимо.
2121 - `bsDialog` - если диалог является простым и изменение размера не требуется (Примечание: все диалоги внутренне должны оставаться с изменяемыми размерами в связи с проблемами локализации).
2222- **Position** : `poScreenCenter`.
2323- **FormStyle** : Не используйте `fsStayOnTop`, т.к. это может быть очень раздражающим под некоторыми оконными менеджерами.
2424- **BorderIcons**:
2525 - `[biSystemMenu]` - для модально отображаемых диалогов
2626 - `[biSystemMenu,biMinimize,biMaximize]` - для немодально отображаемых диалогов
2727
2828### Общее расположение
2929
3030- Внизу формы должна быть помещена Панель кнопок.
3131- Закрывайте по клавише Escape (если клавиша не используется другим образом).
3232- Назначайте кнопку по умолчанию, которая будет активироваться по нажатию Enter (если клавиша не используется другим образом).
3333- Избегайте использования длинных надписей на кнопках. Используйте свойство `Hint` для более детального объяснения действия кнопки.
3434- Размеры диалогов с изменямыми размерами должны сохраняться и восстанавливаться при следующем открытии диалога.
3535- Все всплывающие подсказки и надписи, используемые на форме, должны быть ресурсными строками (resourcestring), чтобы была возможна локализация.
3636
3737#### Интервалы и размеры
3838
3939- Диалоги должны быть разработаны так, чтобы работать независимо от разрешения и высоты шрифта.
4040- Интервалы между элементами: 6 пикселей.
4141- Не устанавливайте максимальных ограничений.
4242- Не устанавливайте минимальную высоту обычных кнопок.
4343- Для кнопок вы можете установить минимальную ширину 90.
4444- Свойство `AutoSize` следует установить для кнопок, меток и т.д. для правильного отображения локализованного текста, если он окажется длиннее, чем ожидалось.
4545- Все кнопки в группе (включая кнопки, содержащие пиктограммы) должны иметь одинаковую ширину и высоту. Используйте TPanel и устанавливайте свойства `Align` и `BorderSpacing`.
4646
4747#### Панель кнопок
4848
4949Панель кнопок должна содержать по крайней мере следующие элементы:
5050
5151- Кнопка OK.
5252- Кнопка Cancel.
5353- Кнопка Next (опционально).
5454- Кнопка Previous (опционально).
5555- Кнопка Help.
5656
5757### Использование якорей
5858
5959Чтобы быть уверенным, что диалог после изменения размера будет правильно отображать компоненты, используются якоря. Все компоненты имеют свойство Anchors. С помощью этого свойства вы можете определить способ, с помощью которого компонент будет привязан к своему родителю.
6060
6161Подсказка: Используйте редактор якорей IDE.
6262
6363### Использование выравнивания
6464
6565Другой способ организации компонентов - использование выравнивания. Каждый компонент имеет свойство Align. Несколько компонентов могут быть правильно расположены путём выбора правильного выравнивания.
6666
6767#### Граничные отступы
6868
6969В комбинации со свойством Align особенно полезно свойство BorderSpacing (также найдёте в окне диалога Anchors). Обычно используется отступ от края вокруг компонента в 6 пикселей.\
70-\
7170
7271---
7372*From the Free Pascal wiki, page "GUI design guidelines/ru", as it stood on 2016-01-26 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history