Инспектор объектов

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Инспектор объектов

Сообщение modjo » 11.01.2010 17:08:39

Подскажите как можно упорядочить объекты в инспекторе объектов? При создании любого нового объекта он автоматически переносится в самый низ.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Инспектор объектов

Сообщение Attid » 12.01.2010 11:47:22

вроде нет . они распологаются так как обьявленны в модуле + в зависимости от дерева.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Инспектор объектов

Сообщение modjo » 12.01.2010 14:10:20

Ого. Блин, а как сделать след.: у меня идет подряд три TLebeledEdit. В инспекторе объектов не важно как они расположены. А вот в самой программе очень. При использовании tab в программе у меня получается переход в таком порядке:

tab -> TLebeledEdit1
tab -> TLebeledEdit3
tab -> TLebeledEdit2

В инспекторе задач именно так расположены. Если поменять местами в инспекторе то проблема решится. Выходит что никак...

Добавлено спустя 15 минут 12 секунд:
Открываем unit1.lfm и видим структуру типа этой:

Код: Выделить всё
object Form1: TForm1
  Left = 539
  Height = 300
  Top = 303
  Width = 400
  Caption = 'Form1'
  ClientHeight = 300
  ClientWidth = 400
  LCLVersion = '0.9.28.2'
  object LabeledEdit1: TLabeledEdit
    Left = 104
    Height = 21
    Top = 56
    Width = 80
    EditLabel.AnchorSideLeft.Control = LabeledEdit1
    EditLabel.AnchorSideBottom.Control = LabeledEdit1
    EditLabel.Left = 104
    EditLabel.Height = 14
    EditLabel.Top = 39
    EditLabel.Width = 62
    EditLabel.Caption = 'LabeledEdit1'
    EditLabel.ParentColor = False
    TabOrder = 0
  end
  object LabeledEdit3: TLabeledEdit
    Left = 104
    Height = 21
    Top = 168
    Width = 80
    EditLabel.AnchorSideLeft.Control = LabeledEdit3
    EditLabel.AnchorSideBottom.Control = LabeledEdit3
    EditLabel.Left = 104
    EditLabel.Height = 14
    EditLabel.Top = 151
    EditLabel.Width = 62
    EditLabel.Caption = 'LabeledEdit3'
    EditLabel.ParentColor = False
    TabOrder = 1
  end
  object LabeledEdit2: TLabeledEdit
    Left = 104
    Height = 21
    Top = 112
    Width = 80
    EditLabel.AnchorSideLeft.Control = LabeledEdit2
    EditLabel.AnchorSideBottom.Control = LabeledEdit2
    EditLabel.Left = 104
    EditLabel.Height = 14
    EditLabel.Top = 95
    EditLabel.Width = 62
    EditLabel.Caption = 'LabeledEdit2'
    EditLabel.ParentColor = False
    TabOrder = 2
  end
end


Приводим к след. виду:

Код: Выделить всё
object Form1: TForm1
  Left = 539
  Height = 300
  Top = 303
  Width = 400
  Caption = 'Form1'
  ClientHeight = 300
  ClientWidth = 400
  LCLVersion = '0.9.28.2'
  object LabeledEdit1: TLabeledEdit
    Left = 104
    Height = 21
    Top = 56
    Width = 80
    EditLabel.AnchorSideLeft.Control = LabeledEdit1
    EditLabel.AnchorSideBottom.Control = LabeledEdit1
    EditLabel.Left = 104
    EditLabel.Height = 14
    EditLabel.Top = 39
    EditLabel.Width = 62
    EditLabel.Caption = 'LabeledEdit1'
    EditLabel.ParentColor = False
    TabOrder = 0
  end
  object LabeledEdit2: TLabeledEdit
    Left = 104
    Height = 21
    Top = 112
    Width = 80
    EditLabel.AnchorSideLeft.Control = LabeledEdit2
    EditLabel.AnchorSideBottom.Control = LabeledEdit2
    EditLabel.Left = 104
    EditLabel.Height = 14
    EditLabel.Top = 95
    EditLabel.Width = 62
    EditLabel.Caption = 'LabeledEdit2'
    EditLabel.ParentColor = False
    TabOrder = 2
  end
  object LabeledEdit3: TLabeledEdit
    Left = 104
    Height = 21
    Top = 168
    Width = 80
    EditLabel.AnchorSideLeft.Control = LabeledEdit3
    EditLabel.AnchorSideBottom.Control = LabeledEdit3
    EditLabel.Left = 104
    EditLabel.Height = 14
    EditLabel.Top = 151
    EditLabel.Width = 62
    EditLabel.Caption = 'LabeledEdit3'
    EditLabel.ParentColor = False
    TabOrder = 1
  end
end


Сохраняем и перезапускам проект. Теперь в инспекторе нужная последовательность, но в самой программе ничего не изменилось. Надо копать дальше...
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Инспектор объектов

Сообщение Mr.Smart » 12.01.2010 14:28:05

modjo
За порядок перехода отвечает свойство визуального компонента TabOrder, а за участие контрола в переходе по кнопке ТАБ TabStop.
Для визуального изменения порядка перехода существует редактор "Порядок перехода", который вызывается из контекстного меню формы.
В данном случае расположение компонентов в "Инспекторе объектов" не важно, а так как при добавлении компонентов свойство TabOrder увеличивается на один переход происходит от предидущего к текущему добаленному :wink:
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Инспектор объектов

Сообщение modjo » 12.01.2010 14:37:37

Вот спасибо! А то я уже начал перелопачивать другие файлы типа unit1.lrs... А тут так просто :) Банально в голову не пришло что это запрятано в меню на форме :)
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Инспектор объектов

Сообщение Attid » 12.01.2010 17:32:26

надо задавать правильные вопросы. будешь получать быстрее ответы. вопрос "как изменить порядок перехода ТАБом по компонентам" был бы тут больше к месту.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Инспектор объектов

Сообщение Padre_Mortius » 12.01.2010 22:38:24

чтобы правильно задать вопрос, нужно знать на него ответ не менне чем на 50%)
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Инспектор объектов

Сообщение modjo » 14.01.2010 10:55:58

Attid
Предыдущий оратор правильно заметил. Я обратил внимание что если порядок в ИО такой какой надо то и таб переходит как надо и из это исходил.

PS
Программирую около полугода из них в лазарусе только пару месяцев. Необходимости раньше в табе не было. До этого были только консольные приложения в fpc.

Но тем неменее способ упорядочить объекты в ИО тож есть :wink:
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 59

Рейтинг@Mail.ru