![]() |
|
|
#1
|
||||
|
||||
|
Доброго времени суток.
Работаю с MDI формами. подскажите пожалуйста как сделать так чтобы если дочернее окно уже создано то при нажатии на кнопку открывающее это окно оно не дублировалось а становилось активным, если не создано, то создалось. Заранее спасибо! |
|
#2
|
|||
|
|||
|
Вот функция, которое ищет форму с заголовком, можно и по другим признакам искать.
Код:
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);
...Последний раз редактировалось Asinkrit, 29.04.2010 в 14:46. |
|
#3
|
||||
|
||||
|
Очень много ошибок((
Большинство так и не исправил.. |
|
#4
|
||||
|
||||
|
на сколько я пол BringToFront это активация формы, у меня выкидывает с ошибкой
|
|
#5
|
|||
|
|||
|
Это рабочий код, из проекта выдернул, что у тебя за ошибки?
|
|
#6
|
||||
|
||||
|
да я в принципе уже через свою функцию блокирую двойное открытие формы, осталось разобраться как сделать ее активной при повторном обращении, буду благодарен если подскажете
![]() |
|
#7
|
||||
|
||||
|
я так понял мне уже никто не поможет?
![]() |
|
#8
|
||||
|
||||
|
Так а чем помочь?
Представленный код почти полностью рабочий. |
|
#9
|
|||
|
|||
|
подскажите, как сделать чтобы вторая форма которая вызывается из первой как бы захватывала управление
то есть когда в программе есть меню, то пока если окно с настройками из меню открыто, главное окно программы недоступно для управления |
|
#10
|
||||
|
||||
|
1. Стоило создать новую тему.
2. ShowModal... |
|
#11
|
|||
|
|||
|
что то не хочет работать
Код:
procedure TForm1.menu1Click(Sender: TObject); begin Form2:= TForm2.Create(Application); Form2.Show; Form2.ShowModal; end; пишет ошибку Cannot make a visible window modal |
|
#12
|
|||
|
|||
|
Form2.Show; убери. Тут либо-либо...
|
|
#13
|
|||
|
|||
|
убрал, все равно таже петрушка
может это изза того что TForm2.Create делает форму видимой? тогда как ее открывать не пойму |
|
#14
|
|||
|
|||
|
а все, поставил свойство visible в false
|