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

Вниз

Как программно (в run-time) получить список всех форм проекта?   Найти похожие ветки 

 
Eugene30   (2004-05-11 19:01) [0]

Здравствуйте!
Как программно (в run-time) получить список всех форм проекта?
Т.е. не только открытых в даный момент, а вообще всех имеющихся.


 
Amoeba ©   (2004-05-11 19:03) [1]

Если форма не создана, то ничего о ней узнать нельзя.


 
Eugene30   (2004-05-11 19:07) [2]

Формы созданы (Application.CreateForm)


 
Amoeba ©   (2004-05-11 19:09) [3]

TScreen.Forms, TScreen.FormCount + F1


 
Яичница ©   (2004-05-11 19:14) [4]

procedure TForm1.Button1Click(Sender: TObject);
var
 I: Integer;
 Temp: TComponent;
begin
with Application do
 for I := ComponentCount - 1 downto 0 do
 begin
   Temp := Components[I];
   if (Temp is TForm) then
   begin
   Memo1.Lines.Add((Temp as TForm).Name);
   end;
 end;
end;


 
Яичница ©   (2004-05-11 19:27) [5]

или так (см.Amoeba ©   (11.05.04 19:09) [3]) :

procedure TForm1.Button2Click(Sender: TObject);
 var i:integer;
begin
   for i:=0 to Screen.FormCount-1 do
       Memo2.Lines.Add(Screen.Forms[i].Name);
end;


 
Eugene30   (2004-05-11 23:00) [6]

Amoeba, Яичница,
Спасибо большое!

Меня сбило с толку описание в справке для TScreen.FormCount - "Indicates the number of forms displayed on the screen". Думал, что будет считаться только количество отображаемых (после Form.Show) на экране форм.

А по свойствам Application вообще в help"е ничего не нашел.



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

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

Наверх




Память: 0.48 MB
Время: 0.034 c
3-1082986711
VEN
2004-04-26 17:38
2004.05.23
Конвертация таблицы dbase III+ в Visual dBASE7


7-1081868205
Paladin
2004-04-13 18:56
2004.05.23
Выключение компа


4-1080892476
MPS
2004-04-02 11:54
2004.05.23
Как работать с XML не пользуясь VCL?


14-1083470203
Думкин
2004-05-02 07:56
2004.05.23
С днем рождения! 2 мая.


1-1084300717
NataliaC
2004-05-11 22:38
2004.05.23
Шифрование (REDOC)