Интерфейс пользователя MIS3
Содержание
Общие
- расстояние между контролами по вертикали 10
- свойство TOP для контролов: 10,41,72, 103,134,165 ,195
- метки обязательных полей подчеркиваются красным (см. dmImages.SetRequiredFieldLabelStyle)
- настройки соединения с БД в ibis.ini
- текущие настройки приложения (положения окон, выбранный стили и т.п.) в реестре Software\IBIS\MIS (актуальное значение находится в dConfig.dmConfig.AppStorage.Root). Путь ветки реестра правильно брать так dmConfig.AppStorage.Root + '\' + Self.ClassName
- русификация в файле russian.lng (в том числе и для других языков через cxLocalizer)
- стиль нередактируемых контролов dmImages.escInfo
- стиль заголовков (для cxLabel над списками и пр) - dmImages.escCaption.
- cxlabel.Height := 14
- cxlabel.Style.Font.Size := 8
- AlignWithMargin := False (Избегаем его использования)
Главное окно
Горячие клавиши
Здесь информация может немного устареть. См описание классов и исходные коды модулей MIS3._Иерархия_классов иконки, горячие клавиши определены в модуле dImages.pas. См. dImages.SetShurtCutOnRibbon(AForm:TForm);
| Действие | Hotkey | Место применения | Примечания |
|---|---|---|---|
| Сохранить | F2 Ctrl+S | ||
| Сохранить и закрыть | Ctrl+Q или Ctrl+Enter | ||
| Добавить | F3, NumPlus | ||
| Редактировать | F4 | ||
| Обновить | F5 | ||
| Удалить | Shift+Del | ||
| Закрыть | F12 или ESC | ||
| Выбрать | Shift+ENTER | ||
| Фильтр | Ctrl+F | ||
| Печать | Ctrl+P | ||
| Сохранить и вернуть | Shift+Enter | ||
| Проверить | F7 |
В окнах списках
- Ctrl+F4 - Закрыть текущий список
- Ctrl+I - Включить инкрементальный поиск по таблице
Для разработчика
IBISShortCut_DebuInfo : String = 'Ctrl+Shift+L'; // сочетание клавиш для показа системной информации об окне (имя класса, идентификатор объекта и т.п) IBISShortCut_Audit : String = 'Ctrl+Shift+H'; // сочетание клавиш для вызова окна аудита
Окно с кнопками операций
Назначение показ кнопок с различными списками, без реализации самих списков
- Название должно заканчиваться на Tab - наследник от TdxRibbonForm
Окно список
- Отображает один список (список справочников, людей и т.п.)
- имя pas-файлы должно заканчиваться на List
- умеет реагировать на сообщения об обновлении
Дизайн
- FormStyle = fsMDIChild
- tdxbarmanager
- TdxRibbon
WinOnTask
- наследник от WinOnTask (кнопка на панели задач) - название заканчиваем на WOT (WinOnTask)
Дизайн
- Наследуем от TfmWinOnTask
- TdxBarmanager
- dxRibbon.showheaders := False (в дизайнере)
Правила дизайна Ribbon
- Подпись к группе кнопок должна быть существительным с Большой буквы (Файлы, Пользователи, Расписание, Документы, Действия и т.п.)
- Подписи к кнопкам должны по возможности означать действие (глагол в совершенной форме) над объектом который указан в заголовке группы. Например: Сохранить, Редактировать, Закрыть, Удалить. Для двухсловных действий (Показать фильтр, Показать расписание) допускается пропуск действия. Т.е. Указываем просто Фильтр, Расписание и т.п. По возможности подпись к кнопке должна состоять из одного слова.
Модальное окно
Простое модальное окно
- Panel
- Align := paBottom
- Height := 41
- Кнопки
- Width := 75
- Top := 8
- Height := 25
- Anchors := [akTop,akRight]
- Кнопка "Отмена" Left := Panel.Width-15-75 := Panel.Width -90
- Кнопка "ОК" Left := Panel.Width-(15-75)*2 := Panel.Width -180 расстояние между кнопками = 15
- Кнопки TcxButton, Skin = ultraflat, skin = UserSkin
- Кнопка OK имеет значение Default := True;
Поддержка скинов
Проект внутри себя не должен содержать никаких скинов. Все скины находятся во внешних файлах в папке skins и подгружаются динамически. Поэтому в исходных кодах в секции uses не должно быть следующих файлов (компиляция на сервере не пройдет):
- dxSkinBlack.dcu
- dxSkinBlue.dcu
- dxSkinBlueprint.dcu
- dxSkinCaramel.dcu
- dxSkinCoffee.dcu
- dxSkinDarkRoom.dcu
- dxSkinDarkSide.dcu
- dxSkinDevExpressDarkStyle.dcu
- dxSkinDevExpressStyle.dcu
- dxSkinFoggy.dcu
- dxSkinGlassOceans.dcu
- dxSkinHighContrast.dcu
- dxSkiniMaginary.dcu
- dxSkinLilian.dcu
- dxSkinLiquidSky.dcu
- dxSkinLondonLiquidSky.dcu
- dxSkinMcSkin.dcu
- dxSkinMetropolis.dcu
- dxSkinMetropolisDark.dcu
- dxSkinMoneyTwins.dcu
- dxSkinOffice2007Black.dcu
- dxSkinOffice2007Blue.dcu
- dxSkinOffice2007Green.dcu
- dxSkinOffice2007Pink.dcu
- dxSkinOffice2007Silver.dcu
- dxSkinOffice2010Black.dcu
- dxSkinOffice2010Blue.dcu
- dxSkinOffice2010Silver.dcu
- dxSkinOffice2013DarkGray.dcu
- dxSkinOffice2013LightGray.dcu
- dxSkinOffice2013White.dcu
- dxSkinPumpkin.dcu
- dxSkinSeven.dcu
- dxSkinSevenClassic.dcu
- dxSkinSharp.dcu
- dxSkinSharpPlus.dcu
- dxSkinSilver.dcu
- dxSkinSpringTime.dcu
- dxSkinStardust.dcu
- dxSkinSummer2008.dcu
- dxSkinTheAsphaltWorld.dcu
- dxSkinValentine.dcu
- dxSkinVS2010.dcu
- dxSkinWhiteprint.dcu
- dxSkinXmas2008Blue.dcu
Для того чтобы Delphi не включала эти файлы автоматически существует галочка Project -> ModifySkinOption. (можно просто обновить файл из svn policlinic.skincfg)


