Вниз
Скачать: CL | DM;

TabOrder в RunTime е   Найти похожие ветки 

← →
TStas ©   (2009-03-13 22:46) [0]

Есть форма, на ней некоторые компоненты созданы в DisignTime"е, а некоторые в компоненты в RunTime"е, потому, что я их написал и не стал ставить в среду, т. к. они только для одного проекта. Вот как бы в RunTime"е расставить им TabOrder? Ведь просто циклом ничего хорошего не получится: изменив TabOrder у одного, тем самым я вызову изменение TabOrder"а и у других. Что с этим делать?


← →
Сова Иа   (2009-03-13 22:57) [1]

а в чём проблема?


← →
Тын-Дын ©   (2009-03-14 00:09) [2]


> Сова Иа   (13.03.09 22:57) [1]
> а в чём проблема?


Нет проблем?


> TStas ©   (13.03.09 22:46) 
> Есть форма, на ней некоторые компоненты созданы в DisignTime"е,
>  а некоторые в компоненты в RunTime"е, потому, что я их
> написал и не стал ставить в среду, т. к. они только для
> одного проекта. Вот как бы в RunTime"е расставить им TabOrder?
>  Ведь просто циклом ничего хорошего не получится: изменив
> TabOrder у одного, тем самым я вызову изменение TabOrder"а
> и у других. Что с этим делать?


Нумеровать в нужном порядке, начиная с 0.
Будут меняться TabOrder только тех компонентов, номер которых больше текущего.


← →
Сова Иа   (2009-03-14 01:09) [3]


> Тын-Дын ©   (14.03.09 00:09) [2]

и что с этим делать?


← →
Тын-Дын ©   (2009-03-14 01:11) [4]


> Сова Иа   (14.03.09 01:09) [3]
> > Тын-Дын ©   (14.03.09 00:09) [2]и что с этим делать?


Хочешь поговорить об этом или конкретные вопросы есть?


← →
Германн ©   (2009-03-14 01:15) [5]


> TStas ©   (13.03.09 22:46)
>
> Есть форма, на ней некоторые компоненты созданы в DisignTime"е,
>  а некоторые в компоненты в RunTime"е, потому, что я их
> написал и не стал ставить в среду, т. к. они только для
> одного проекта. Вот как бы в RunTime"е расставить им TabOrder?
>  Ведь просто циклом ничего хорошего не получится: изменив
> TabOrder у одного, тем самым я вызову изменение TabOrder"а
> и у других. Что с этим делать?
>

Думать, а не спрашивать в И-нете. :)
Точнее - "уяснить задачу и принять решение"! :)


← →
Сова Иа   (2009-03-14 01:23) [6]


> Тын-Дын ©   (14.03.09 01:11) [4]
> Хочешь поговорить об этом или конкретные вопросы есть?

конкретный вопрос в [0] в конце, если вы не заметили
так что с этим делать?


← →
Медвежонок Пятачок ©   (2009-03-14 01:27) [7]

Ведь просто циклом ничего хорошего не получится: изменив TabOrder у одного, тем самым я вызову изменение TabOrder"а и у других. Что с этим делать?

Модифицировать цикл


← →
Тын-Дын ©   (2009-03-14 01:28) [8]


> Сова Иа   (14.03.09 01:23) [6]
> > Тын-Дын ©   (14.03.09 01:11) [4]> Хочешь поговорить об
> этом или конкретные вопросы есть?конкретный вопрос в [0]
> в конце, если вы не заметилитак что с этим делать?


Ещё раз не понял, у тебя какой вопрос?

В [2] дан конкретный полный ответ на все вопросы из [0].

Если что непонятно, конкретизируй, а не ссылайся на вопрос автора.


← →
TStas ©   (2009-03-15 15:25) [9]

А вот что было не так: я назначал ТабОрдера подряд, при этом получалось, что они, т. к. такие уже используются, переназначались и у тех компонентов, которым уже назначены. Решение нашёл простейшее - назначать не подряд, а с шагом, например, в 10.


← →
Плохиш ©   (2009-03-16 10:40) [10]


> TStas ©   (15.03.09 15:25) [9]
>  Решение нашёл простейшее - назначать не подряд, а с шагом,
>  например, в 10.

Глупость.
Чем решение из [2] не устроило?


← →
MsGuns ©   (2009-03-16 11:38) [11]

Вероятно, порядок обхода контролов следует сделать слева направо и сверху вниз. Если так, то можно написать процедуру, которая будет перебирать все винконтрольные компоненты, принадлежащие указанному параметром винконтролу-контейнеру, анализировать их "географические" координаты, расставляя в списке ссылки на компоненты в нужном порядке, а затем преребрать список, присваивая табордеру очередного контрола его индекс в списке.
Процедуру есть смысл сделать универсальной для использования в дальнейших проектах


← →
MsGuns ©   (2009-03-16 11:41) [12]

Я, кстати, давно сделал подобную процу и теперь не имею никаких проблем при размещении в дизайне визуальных контролов для ввода. По событию OnShow формы просто вызываю эту процедуру, указывая параметром панель (гркпбокс, фрэйм, пайджконтрол и т.д.).

Процедура умеет работать с вложенными контейнерами.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.008 c
15-1235546556
Ega23
2009-02-25 10:22
2009.04.26
Администраторам сайта


15-1234884844
Baks
2009-02-17 18:34
2009.04.26
Рисунки для игры


2-1237279331
b@v
2009-03-17 11:42
2009.04.26
TPopupMenu


2-1237270945
b@v
2009-03-17 09:22
2009.04.26
как запретить вводить символы в TEdit


2-1237181966
termos
2009-03-16 08:39
2009.04.26
Быстрая загрузка объёмных файлов в listbox




   Наверх