Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Выбор дочерних MDI-окон с помощью набора закладок TabSet

По всей видимости, дочерние MDI-окна не отвечают на те же сообщения Windows, которые обрабатываются другими окнами. Ниже приведен способ выбора определенного дочернего MDI-окна таким образом, чтобы оно стало активным. Я читаю значение из компонента TINIFile и активизирую определенное дочернее MDI-окно:


{
Делаем активным дочернее MDI-окно. Мы должны
послать сообщение Windows API, поскольку
дочернее MDI-окно может реагировать только
на "аварийный" набор системных сообщений.
}
i := ReadInteger( 'Main', 'ActiveMDIChild', -1 )
IF (i>=0) AND (i<MDIChildCount) THEN
  POSTMESSAGE( Self.Handle, WM_MDIACTIVATE,
    MDIChildren[i].Handle, 0 )

MDI-формы обрабатываются другим обработчиком по-умолчанию (defMDIProc). Способов сделать это (см. заголовок) существует несколько. Дочерние Mdi-формы являются частью массива с именем (как ни странно) MDIChildren. Вы можете сделать так.....


For i := 0 To Form1.MDIChildCount - 1 Do
begin
  If Form1.MDIChildren[i].Caption = 'Это первый!' Then
    {Здесь можно активизировать дочернюю MDI-форму
    или выполнить какие-либо действия}
end;

MDIChildren[x] - указатель на экземпляр дочерней MDI-формы. Использование операторов IS и AS позволит вам иметь доступ к любым свойствам и методам любой дочерней формы.

  1. При открытии файла в набор Tabset добавляется новая закладка Tab, а ее заголовок ("caption") устанавливается равным имени открытого файла. Затем форма с помощью команды Tabset.AddObject добавляется как объект к tabset.

  2. При щелчке на tabset, чтобы иметь доступ к верному файлу, я использую следующий код:

TForm(TabsSet.Items.Objects[TabSet.TabIndex]).Show;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay