Единственное, что ОС позволяет добавить на панель инструментов, это кнопка инструмента. Чтобы добавить что-либо еще, вам технически необходимо создать кнопку, а затем поместить поверх нее другие вещи. Добавленная кнопка является буквально заполнителем. Он там, чтобы занять место, поэтому следующая вещь, которую вы добавите, будет правильно размещена.
Вы можете увидеть это иногда, если элемент управления, не являющийся кнопкой инструмента, прозрачен. Затем вы можете увидеть разделитель панели инструментов внизу, так что, похоже, что вертикальная линия проходит через середину вашего элемента управления.
Когда вы добавляете не-инструментальный элемент управления на панель инструментов, свойство Buttons
действительно зависит от типа элемента управления. В ComCtrls.pas вы заметите, что сама TToolBar
всегда переводит кнопки в TControl
и затем проверяет, действительно ли они опускаются с TToolButton
. Вполне допустимо добавлять не-кнопки на панель инструментов; вот почему конструктор форм это позволяет в первую очередь.
Я предлагаю вам использовать конструктор форм для создания панели инструментов. Таким образом, IDE будет поддерживать для вас идентификатор в вашей форме, поэтому вы всегда будете иметь прямую ссылку на вашу панель. Вам не придется охотиться за ним на панели инструментов. Даже если вы создаете панель инструментов вручную, рекомендуется создать дополнительное поле для ссылки на панель. Даже если вы переместите панель внутри панели инструментов, она все равно будет одним и тем же объектом, поэтому вам не нужно беспокоиться о свисающих ссылках.