From 88c8be65cf8b6b369984cef02ae0d0b3afc69351 Mon Sep 17 00:00:00 2001 From: alexs75 Date: Thu, 11 Jul 2019 09:50:37 +0000 Subject: [PATCH] RxFPC:RxMDI - add new procedure RxMDITasks.UpdateMDICaptions git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7024 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/rx/trunk/docs/rxmdi.xml | 12 ++++++---- components/rx/trunk/rxcontrols/rxmdi.pas | 29 +++++++++++++++++++----- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/components/rx/trunk/docs/rxmdi.xml b/components/rx/trunk/docs/rxmdi.xml index 14785c4ca..f7671a3f2 100644 --- a/components/rx/trunk/docs/rxmdi.xml +++ b/components/rx/trunk/docs/rxmdi.xml @@ -5,11 +5,13 @@ Кнопка на панели задач компонентов MDI - Кнопка предназначена для управления окнами + Кнопка предназначена для управления окнами + Указатель на связанное с кнопкой окно - Указатель на связанное с кнопкой окно + Указатель на связанное с кнопкой окно + Основаня панель для управления окнами в режиме MDI @@ -24,10 +26,12 @@ Закрыть все окна - Переключить в указанную MDI формуПереключить в указанную MDI форму + Переключить в указанную MDI формуПереключить в указанную MDI форму + - Добавить указанную форму в список MDIДобавить указанную форму в список MDI + Добавить указанную форму в список MDIДобавить указанную форму в список MDI + Создать экземпляр MDI формы

Создать экземпляр указнной MDI формы, вставить в список форм и сделать активной

В случае, если указанный экземпляр существет, то форма просто активируется

diff --git a/components/rx/trunk/rxcontrols/rxmdi.pas b/components/rx/trunk/rxcontrols/rxmdi.pas index d96044d11..fa09ccc5d 100644 --- a/components/rx/trunk/rxcontrols/rxmdi.pas +++ b/components/rx/trunk/rxcontrols/rxmdi.pas @@ -110,6 +110,7 @@ type property MainPanel:TRxMDIPanel read FMainPanel{ write FMainPanel}; procedure SelectNext; procedure SelectPrior; + procedure UpdateMDICaptions; published property Align; property ShowHint; @@ -625,18 +626,21 @@ end; procedure TRxMDIPanel.ChildWindowsUpdateCaption(F: TForm); var i:integer; - B:TRxMDIButton; +// B:TRxMDIButton; + C: TComponent; begin if (FCurrentChildWindow = F) and Assigned(FCloseButton) and FCloseButton.Enabled then FCloseButton.FInfoLabel.Caption:=F.Caption; for i:=0 to TaskPanel.ComponentCount -1 do begin - if TRxMDIButton(TaskPanel.Components[i]).NavForm = F then - begin - TRxMDIButton(TaskPanel.Components[i]).UpdateCaption; - exit; - end; + C:=TaskPanel.Components[i]; + if C is TRxMDIButton then + if TRxMDIButton(C).NavForm = F then + begin + TRxMDIButton(C).UpdateCaption; + exit; + end; end; end; @@ -1026,6 +1030,19 @@ begin end; end; +procedure TRxMDITasks.UpdateMDICaptions; +var + C: TComponent; + i: Integer; +begin + for i:=0 to ComponentCount -1 do + begin + C:=Components[i]; + if C is TRxMDIButton then + TRxMDIButton(C).UpdateCaption; + end; +end; + { TRxMDIButton }