Тема: MDI
Показать сообщение отдельно
  #2  
Старый 29.04.2010, 14:43
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Вот функция, которое ищет форму с заголовком, можно и по другим признакам искать.
Код:
function TDM.FindForm(const aCaption: Integer): TForm;
var
  i:integer;
begin
  with Application.MainForm do
  for i:=0 to MDIChildCount-1 do
    if MDIChildren[i].Caption = aCaption then
      begin
      Result:=MDIChildren[i];
      exit;
      end;
  Result:=nil;
end;
Основной смысл в следующем, ищем форму если нашли то на передний план, иначе создаем.
Код:
...
var
  C:TForm
...
  C:=DM.FindForm("Пользователи");
  if  C <> nil then C.BringToFront
    else Application.CreateForm(TUsersForm, UsersForm);
...
Ответить с цитированием