вторник, 18 октября 2011 г.

Урок 21. Контейнеры и элементы управления главной формы


Упомянув однажды в новостях о Java , я оставил эту модную среду разработки в стороне. Для работы с базами данных она годится, но не очень. Подключение к БД Access так и не вызвало у меня восторга, но мало того: для таблиц нужно "сочинять" модель поведения. Не то, чтобы лениво... Вряд ли стоит этим заниматься, когда стоит цель - сделать быстро. Но, не влюбившись в Java, не оставлю ее навсегда. Как в мультике про Карлсона: "Он улетел, но он обещал вернуться..." Я обещаю вернуться.
Итак, в предыдущем уроке я рассказал о подключении к базе данных MS Access. Но, давайте сейчас вернемся к оставленному нами Delphi проекту программы "Расходы" и наполним нашу основную форму контейнерами и элементами управления.
Я не располагаю элементы управления непосредственно на форме. Такой способ приемлем и не является ошибкой. Просто для управления интерфейсом (переключения его в различные режимы: добавления данных, редактирования и т.п.) удобнее располагать элементы управления, размещая их в контейнерах.
Стандартным (привычным) набором я считаю три панели и строку состояния.
Вы можете использовать любые панели, а я размещу на форме свое "детище" из библиотеки Pro-Delphi. Строку состояния Вы найдете на панели компонентов, на вкладке "Win 32".
Первой панели установите свойство Align в alTop, чтобы она была всегда только сверху,  а вторую - сделайте клиентом (она будет изменять свой размер пропорционально изменению размера формы) - alClient. Третью расположите на предыдущей (можно использовать окно Structure) - и установите ее свойство Align в alBottom.
Для первых двух панелей отключите свойство Visible, установив его в False. Третью панель можно оставить видимой, так как она будет показываться или отключаться вместе с контейнером, в котором она размещена, т.е. с панелью 2.
Несколько слов о назначении этих панелек.
На верхней панельке я обычно располагаю элементы управления, предназначенные для редактирования выбранной записи. Кому-то может показаться такой способ не вполне удобным... Что ж: вольному - воля, Вы вправе добавить в проект лишнюю форму. Поэтому при старте показывать эту панель не имеет смысла.
Панель-клиент - основное поле действия. Здесь, как правило, располагается большая таблица, позволяющая обозревать "оперативный простор", производить выбор какой либо строки или как-то отфильтровывать лишнее. Совсем не лишнее использовать ее для показа, например, результатов поиска.
На последней панельке я располагаю обычно элементы управления, предназначенные для перехода по записям таблицы (навигатор), средства поиска и отбора записей.
Теперь щелкните два раза по StatusBar, чтобы вызвать на экран редактор. Добавьте в семейство Panels пять элементов (счет ведется от нуля):
0    Text=Записей   Width=130
1    Text=Валюта     Width=150
2    Text=МО             Width=200
3    Text=Счет         Width=200
4    Text=Каталог   Width=255
(ширина подобрана опытным путем :-) ). На этих Panels будут отображаться поясняющие выбор оператора надписи.
Теперь вспомним о том, что когда-то давно, на уроке №5 я рассказывал о замечательной библиотеке компонентов EhLib. Настало время ее полноценного использования. Добавьте на панель-клиент экземпляр компонента TDBGridEh. Я сознательно сейчас не переименовываю добавляемые компоненты, чтобы не усложнять рассказ.
На самую верхнюю нашу панельку (1) добавьте следующие компоненты из библиотеки EhLib, переименовав их (здесь это действие необходимо, так как эти элементы будут использоваться в программном коде, и будет просто удобнее ,если они получат осмысленные имена хотя бы на смеси кириллицы и латиницы :-) ):
TDBDateTimeEditEh           Name=DataEdit,
два элемента TDBLookUpComboBoxEh с именами Name=DEdit, и Name=KEdit,
TDBNumberEditEh с именем Name=SEdit
и один элемент TEdit с вкладки "Стандартные", дав ему имя PEdit.
Как многие уже догадались, эти элементы управления предназначены для редактирования выбранной записи, а точнее полей: даты, счетов дебета и кредита, суммы и примечания.
В результате всех этих действий, должна получиться вот такая картина:
При запуске проекта на выполнение, вы не должны увидеть ничего нового: форма и строка меню. Если Вы видите панели с элементами управления, значит Вы не сделали их невидимыми на момент старта программы. Исправьте эту ошибку.







Что же дальше?
Придется оставить не на долго наш проект, чтобы подготовить один полезный компонент.


Комментариев нет:

Отправить комментарий