Форум: "Основная";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
ВнизMDI приложение !!! Найти похожие ветки
← →
Максим (2003-10-08 10:26) [0]Как сделать чтобы открытые дочернии формв распологались внизу на отдельном баре, и чтобы можно былобы переключаться между ними если их открыто много ????????
← →
AndrewPo (2003-10-08 11:48) [1]вот так:
создаем панель TToolBar без кнопок, ставимAlign=alBottom
обработчик для пункта меню, который должен открывать форму делаем такой:
procedure TForm1.N3Click(Sender: TObject);
var TB1: TToolButton;
begin
N3.Enabled:=False; // Запрещаем пункт меню: нафига нам 2 одинаковые формы
Application.CreateForm(TForm2, Form2); // Создаем дочернюю форму
Form2.Tag:=MDIChildCount-1;
Form2.Show; // Показываем ее
TB1:=TToolButton.Create(ToolBar1); // Создаем кнопку на панели
TB1.Parent:=ToolBar1;
TB1.Caption:=Form2.Caption;
TB1.Tag:=MDIChildCount-1;
TB1.OnClick:=TBsClick; // Назначем событие на клик по кнопке
TB1.Show; // Показываем ее
end;
В описании классаTForm1
объявляем метод
procedure TBsClick(Sender: TObject);
... и определяем его
procedure TForm1.TBsClick(Sender: TObject);
var i: Integer;
begin
for i:=0 to MDIChildCount-1 do
if TForm(MDIChildren[i]).Tag = TToolButton(Sender).Tag then
begin
TForm(MDIChildren[i]).BringToFront;
Break;
end;
end;
теперь при клике на кнопку соответствующая форма вылезет на передний план. Соответствие устанавливается с помощью свойствTag
формы и кнопки.
← →
Максим (2003-10-08 13:19) [2]Не работает !!! Во-первых нет имени формы на кнопке, во вторых когда сворачиваешь окно то она болтается над ТулБаром .........
← →
panov (2003-10-08 13:48) [3]Поменьше восклицательных знаков в темах топиков, пожалуйста.
← →
clickmaker (2003-10-08 14:41) [4]TabControl со стилем tsButtons внизу формы. Принцип аналогичен AndrewPo © (08.10.03 11:48) [1]
← →
AndrewPo (2003-10-08 17:12) [5]2 Максим:
1.
> нет имени формы на кнопке
как это нет??? а што по-твоему делает вот эта строчка кода???
TB1.Caption:=Form2.Caption;
2.
> когда сворачиваешь окно то она болтается над ТулБаром
а я запретил сворачивать дочерние формы... а то жирно будет :))
дочернюю форму показываю по центру родительской
← →
webpauk (2003-10-08 17:15) [6]используй компонент ELegantMDI
← →
Oleg_Al (2003-10-09 11:35) [7]А если усложнить задачу: есть n- цадть (очень много) дочерних форм и хочется поиметь такой же ToolBar, но крайне не хочется к методу вызова каждой из форм цеплять вышеозначенный код.
Есть ли некое событие, реагирующее на создание дочерней формы для заданной главной, к которому и можно было бы привязаться?
Может быть кто-нибудь знает, как работает механизм генерации списка дочерних форм для главного меню (свойство TForm WindowMenu) и можно ли использовать как-то его?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c