Текущий архив: 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