Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.29;
Скачать: CL | DM;

Вниз

Как получить список открытых форм в Delphi?   Найти похожие ветки 

 
Viking   (2003-09-18 10:10) [0]

Добрый день!
У меня следующий вопрос:
Как получить список всех открытых форм в Delphi в design time?
Это необходимо для компонента - который должен получать список контролов на произвольной форме в режиме проектирования (design time) и, в общем случае, запоминать его для дальнейшего использования.
Грубо говоря, алгоритм примерно следующий:
есть два ListBox"a, в первом список форм, а во втором список контролов выбранной формы.
Всё это нужно в design time.

Заранее спасибо.


 
Song ©   (2003-09-18 10:25) [1]

Анализируй dpr файл. Формы, создащиеся автоматически, создаются через метод TApplication.CreateForm()


 
Vovchik_A ©   (2003-09-18 10:32) [2]


ComboBox1.Items.Clear;
For J:=0 to Screen.FormCount-1 Do
ComboBox1.Items.Add(Screen.Forms[j].Caption);

Поможет ?


 
Calm ©   (2003-09-18 11:12) [3]


> Поможет ?

Не поможет. Спрашивали про design-time. Да еще открытых форм, а не всех подряд


 
Viking   (2003-09-18 11:18) [4]

В данном случае имеется в виду не режим работы программы,
а режим её разработки.

Для компонента (csDesigning in ComponentState).

Анализ файла проекта DPR не подходит, т.к. в общем случае искомая форма может быть наследована от базовой формы.

Должно быть решение типа -
FindWindow для delphi32.exe
и ищем все дочерние формы, унаследованные от, например, TForm...


 
Song ©   (2003-09-18 11:29) [5]

Ну ты захотел.. :)
В таком случае только на support@borland.com :)


 
Viking   (2003-09-18 12:40) [6]

Ну...
Это не тот ответ, который мне нужен! ;-)


 
Song ©   (2003-09-18 12:43) [7]

Ну раз не тот, значит используй EnumWindows(). Она перечислит тебе все окна верхнего уровня. На них проверяй принадлежность к классу TForm и проверяй IsWindowVisible(), IsIcon() ну и др., которые нужны. Только имей ввиду, что пользователь может изменить свойство Name формы. Изменится ли при этом класс, я не знаю, проверять лень ;)


 
Viking   (2003-09-18 12:49) [8]

Спасибо!
Сейчас попробую...



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

Текущий архив: 2003.09.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
14-96444
Hatchy
2003-09-09 15:30
2003.09.29
Посоветуйте винчестер...


6-96315
podonok
2003-07-31 05:29
2003.09.29
Чат


3-96101
Sour
2003-09-09 12:16
2003.09.29
Посоветуйте компоненту


4-96483
Prov
2003-07-24 10:23
2003.09.29
Файл больше 136 КБ


9-96049
Lavo4nik
2003-03-21 20:33
2003.09.29
А можно ли рисунок прикрепить к курсору?