Вкладка TTabSet Order .... отличается во время выполнения от времени проектирования - PullRequest
2 голосов
/ 08 марта 2012

Я использую Lazarus 0.9.30.2.

У меня есть TForm, на котором есть TPageControl.В TPageControl есть серия TTabSheets.Во время выполнения заказ TTabSheets отличается от времени разработки (см. Рисунок).

enter image description here

Порядок во время разработки - это то, что я хочу видеть во время выполнения, по крайней мере, в первый раз, когда форма отображается.Почему заказ меняется во время выполнения и есть ли способ контролировать это?

1 Ответ

4 голосов
/ 08 марта 2012

@ TLama правильно, что это связано с поведением элемента управления вкладки Windows в многострочном представлении.Поведение, которое вы наблюдаете, связано со способом обработки выбора для многострочных вкладок.При выборе вкладки она всегда отображается в нижней строке, потому что визуальная подсказка, указывающая, какая вкладка выбрана, может действительно работать только для вкладок в нижней строке.

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

Очевидно, что здесь происходит то, что перегруппировка происходит во время выполнения, когда форма впервые показывается, и по любой причине это приводит к отличному расположению отрасположение времени проектирования.Учитывая, что пользователь может упорядочивать строки в любом порядке, просто выбирая их, я не уверен, что вам следует беспокоиться о том, в каком порядке появляются строки.

Если вы не готовы принудить конкретное расположение, когда формаСначала показано, что вы можете добавить подобный код в обработчик OnCreate для формы:

PageControl1.ActivePage := TabSheet9;
PageControl1.ActivePage := TabSheet5;
PageControl1.ActivePage := TabSheet1;

Лучшая практика для дизайна пользовательского интерфейса - избегать многострочных вкладок, и я призываю вас попытаться изменить дизайнваш интерфейс таким образом.

...