|
|
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Хотелось бы перебрать все формы проекта ну например в цикле и менять их цвет к примеру ))) Есть класс Screen !!! Но он работает только для форм которые находяться в данныый момент на экране. Какие есть идеи ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 16:53 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Занести указатели на все классы формы проекта в список, и при необходимости пройтись по списку и менять их свойства. Если же формы создаются и удаляются из памяти динамичесски - создать файл настроек для всех форм, который будет подчитываться при создании класса формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 17:48 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
LexogenЗанести указатели на все классы формы проекта в список, и при необходимости пройтись по списку и менять их свойства. Если же формы создаются и удаляются из памяти динамичесски - создать файл настроек для всех форм, который будет подчитываться при создании класса формы. Хм вот мне интересно а как я занесу их в список ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:14 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Ах да я почему хочу так перебирать потому что форм многовато ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:15 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Проект в в каком окружении? Visual, Builder? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:25 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
LexogenПроект в в каком окружении? Visual, Builder? C++ Builder ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:26 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!k LexogenЗанести указатели на все классы формы проекта в список, и при необходимости пройтись по списку и менять их свойства. Если же формы создаются и удаляются из памяти динамичесски - создать файл настроек для всех форм, который будет подчитываться при создании класса формы. Хм вот мне интересно а как я занесу их в список ? Как я понимаю каждый клас формы наследуется от какого то базового класса у которого есть такие общие для всех форм свойства как цвет формы и т.п.. Тогда: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:31 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!k LexogenПроект в в каком окружении? Visual, Builder? C++ Builder У Вас в главном cpp файле есть список названий классов всех форм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 18:33 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Lexogen Begem0t!k LexogenПроект в в каком окружении? Visual, Builder? C++ Builder У Вас в главном cpp файле есть список названий классов всех форм. На самом деле это долго мне будет в список заносить то 89 форм ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2007, 20:16 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
ну а что вы хотели? а 89 это не так уж и много. занесете все указатели в вектор а потом будете делать все что захотите с этими формами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 01:04 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!kНа самом деле это долго мне будет в список заносить то 89 форм ... Может поищите в экземпляре класса TApplication - Application, формы же создаются с помощью этого класса, может у него есть методы для получения списка форм... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:47 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Lexogen Begem0t!kНа самом деле это долго мне будет в список заносить то 89 форм ... Может поищите в экземпляре класса TApplication - Application, формы же создаются с помощью этого класса, может у него есть методы для получения списка форм... Поискал не нашел (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 13:06 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!k Lexogen Begem0t!kНа самом деле это долго мне будет в список заносить то 89 форм ... Может поищите в экземпляре класса TApplication - Application, формы же создаются с помощью этого класса, может у него есть методы для получения списка форм... Поискал не нашел (( Плохо смотрели. Достал из самого старого сундука Builder, сдул пыль, запустил, нажал Help, посмотрел свойства класса TApplication... Наваяйл быстро: Код: plaintext 1. Вот и ответ! Перебрать все компоненты, если, например, бызовый класс TForm, или можна привести через dynamic_cast к класу TForm - значит клас формы. И делай с ним что хочеш через указатель! А далее пожалуйста сами! На вопросы: "А как узнать клас родитель?","Как привести к типу... ?" отвечать не буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 13:38 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Lexogen Begem0t!k Lexogen Begem0t!kНа самом деле это долго мне будет в список заносить то 89 форм ... Может поищите в экземпляре класса TApplication - Application, формы же создаются с помощью этого класса, может у него есть методы для получения списка форм... Поискал не нашел (( Плохо смотрели. Достал из самого старого сундука Builder, сдул пыль, запустил, нажал Help, посмотрел свойства класса TApplication... Наваяйл быстро: Код: plaintext 1. Вот и ответ! Перебрать все компоненты, если, например, бызовый класс TForm, или можна привести через dynamic_cast к класу TForm - значит клас формы. И делай с ним что хочеш через указатель! А далее пожалуйста сами! На вопросы: "А как узнать клас родитель?","Как привести к типу... ?" отвечать не буду. Это я видел ))) Но у меня ComponentCount = 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 17:39 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!k Это я видел ))) Но у меня ComponentCount = 2 А узнать почему так при наличии множества форм не пробовали? Зайдите в меню Project->Options на вкладку Forms и посмотрите сколько форм в списке Auto-create forms, а сколько Available forms. Делайте выводы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 18:03 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Lexogen Begem0t!k Это я видел ))) Но у меня ComponentCount = 2 А узнать почему так при наличии множества форм не пробовали? Зайдите в меню Project->Options на вкладку Forms и посмотрите сколько форм в списке Auto-create forms, а сколько Available forms. Делайте выводы. Все 90 там ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 15:21 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!kВсе 90 там Не уточните где именно, в списке Auto-create, или в Available forms? При создании формы методом класса TApplication в главном cpp файле программы форма добавляется в свойство components этого класса. Т.е. сколько экземпляров классов форм создалось, столько будет и ComponentCount. Если же формы не являются Auto-create, то в классе TAppplication присутсвовать не будут. Если же форма не Auto-create, и создалась с помощью метода класса TApplication CreateForm, то только тогда указатель на класс формы будет присутствовать в классе TApplication. Например: Одна форма (главная) в списке Auto-create, все остальные в Available forms. При старте приложения метод ComponnentCount вернет количество 2. Во время работы приложения создадим еще одну форму через Application->CreateForm. Тогда ComponnentCount будет инкриментированно. Т.е. В Вашем случае для всех созданных форм можна что то менять через класс TApplication (перебор Components), а для еще не созданных можна иметь или ini-файл с общими настройками форм, который они при создании сами будут подчитывать и в методе Create класса формы будут устанавливаться необходимые свойста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2007, 17:27 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Lexogen Begem0t!kВсе 90 там Не уточните где именно, в списке Auto-create, или в Available forms? При создании формы методом класса TApplication в главном cpp файле программы форма добавляется в свойство components этого класса. Т.е. сколько экземпляров классов форм создалось, столько будет и ComponentCount. Если же формы не являются Auto-create, то в классе TAppplication присутсвовать не будут. Если же форма не Auto-create, и создалась с помощью метода класса TApplication CreateForm, то только тогда указатель на класс формы будет присутствовать в классе TApplication. Например: Одна форма (главная) в списке Auto-create, все остальные в Available forms. При старте приложения метод ComponnentCount вернет количество 2. Во время работы приложения создадим еще одну форму через Application->CreateForm. Тогда ComponnentCount будет инкриментированно. Т.е. В Вашем случае для всех созданных форм можна что то менять через класс TApplication (перебор Components), а для еще не созданных можна иметь или ini-файл с общими настройками форм, который они при создании сами будут подчитывать и в методе Create класса формы будут устанавливаться необходимые свойста. Все формы в разделе AutoCreate! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 07:32 |
|
||
|
Как перебрать все формы проекта ????
|
|||
|---|---|---|---|
|
#18+
Begem0t!k Все формы в разделе AutoCreate! Шаманство :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 10:14 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34480690&tid=2028984]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 553ms |

| 0 / 0 |
