Наши преимущества

Как активировать уже открытиый ChildForm в компоненте TMS AdvOfficeMDItab?

Stronger

Турист
Credits
0
Привет всем
В компоненте TMS AdvOfficeMDItab есть пример который реализовано MDI tab как Opera
PHP:
procedure TForm1.AddChildClick(Sender: TObject);
var
  rsChild: TForm2;
  TC :Tcomponent;
begin
  TC:=Application.FindComponent('Form2');
  if tc=nil then
  begin
    rsChild := TForm2.Create(self);
    AdvToolBar1.AddMDIChildMenu(rsChild);
    rsChild.OnClose := ChildFormClose;
    Inc(FChildCount);
    rsChild.Show;
    AdvOfficeMDITabSet1.AddTab(rsChild);
  end
  else
    rsChild.Show;

end;

Вопрос как активировать уже открытый форму?
 
....
else
begin
rsChild.Show;
if rsChild.Visible = False then rsChild.Visible := True;

rsChild.BringToFront;
end
.....

Ну и затем нажать на соответствующий (программно) ToolButton в случае, если он не нажался.

Должно работать

Удачи.
 
Вспомнил как я делал, в другом табе из DevExpress.
При нажатии на таб идет создание формы. Затем переназначаем на табе у кнопки Click:
rsChild.BringToFront;
Старый Click сохраняем в каком нибудь свойстве (процедурного типа).
А при уничтожении формы (не при переходе фокуса) или при скрытии формы кнопке на табе присвоим старый (начальный) Click.
Доступ к процедуре Click у кнопки должон быть.
 
Верх