AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MDIParent / MDIChild Komunikation

Ein Thema von TUX_der_Pinguin · begonnen am 1. Jun 2005 · letzter Beitrag vom 1. Jun 2005
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 09:07
Hallo,

ich habe 2 Probleme mit meiner MDI Anwendung.

1. Wie kann ich von einem MDIChild auf eine Komponente des Parent-Forms
zugreifen.

2. Ein zuvor Maximiertes Form wird durch aufruf eines Childs verkleinert.


Zu 1:
In der MDI Anwendung wird ein MDIChild aufgerufen welches ein ListView
enthält, dort kann man via Popup ein neues MDIChild Aufrufen, dort
soll man Änderungen an den ListView einträgen machen können, es soll eine
Art "Eigenschaft-Dialog" werden.

Programm -> Aufruf Form_Liste -> Eintrag auswählen, Kontext-Menü ->
"Eigenschaft-Dialog" wird aufgerufen -> Änderung an einem Eintrag
=> ListView im Form_Liste soll aktuallisiert werden.


Zu 2:
Besagtes Form_Liste ein MDIChild der Anwendung wird maximiert, rufe ich
nun via Popup Menü den "Eigenschaft-Dialog" ein weites MDIChild auf
so wird dieses ebenfalls Maximiert, schalte ich in den Eigenschaften
BorderIcon.Maximized := False, so wird beim Aufruf des MDIChilds
das ParentForm ( Form_Liste ) verkleinert und bleibt nicht Maximiert
so wie es eigentlich sollte.

Ich hoffe ich habe es einigermaßen verständlich erklären können, habe bis
her keine Lösungen gefunden für mein Problem

mfg

TUX
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#2

Re: MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 10:21
also zu 1) Einfach in der MDI-Child-Unit die MDI-Parent-Unit in die uses aufnehmen, dann hast du Zugriff auf die Mainform


z.B.

[...]
uses uMainform;

procedure TMdiForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
MainForm.ClassBrowser.Items.Clear;
if MainForm.MdiChildCount <= 1 then
begin
Mainform.TBXLabelItem1.Visible := true;
MainForm.statusbar.Panels[3].Caption := '';
end;
end;


zu 2) hab ich jetzt so keine Idee...


Greetz Sergej
  Mit Zitat antworten Zitat
barf00s
(Gast)

n/a Beiträge
 
#3

Re: MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 10:47
wennd dein formular was da minimiert wird mit "parentform.Restore;" versuchst "wiederherszustellen" und dann nochmal zusätzlich dein formular was du grad aktiviert hast mit "frmNew.BringToFront;" öhm ... kA, ob ich deine komische Frage auch richtig verstanden habe
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#4

Re: MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 11:21
Zitat von barf00s:
wennd dein formular was da minimiert wird mit "parentform.Restore;" versuchst "wiederherszustellen" und dann nochmal zusätzlich dein formular was du grad aktiviert hast mit "frmNew.BringToFront;" öhm ... kA, ob ich deine komische Frage auch richtig verstanden habe
Habe ein ähnliches Problem wie der Threadersteller bzw. auch noch keine Lösung dafür gefunden.

Evtl. ist diesed MDI-Verhalten ja so spezifiziert und gewollt, aber es stört in einigen Anwendungen.

Du hast eine MDI-Form (1) mit wsmaximize. Dann öffnest Du eine weitere (2), auch wsmaximized. Dann schließt Du (2) wieder und (1) ist nicht mehr maximiert.

Gruß Igotcha
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 12:21
Hi,

also das 1. Problem läßt sich nicht lösen in dem ich einfach das
ParentForm in den Uses Teil schreibe, es liegt denke ich daran das das
ParentForm ebenfalls ein MDIChild ist und nicht das MDI-MainForm ?!

MainForm -> Aufruf einer oder mehrer FormListe ( MDIChilds ) dort kann
jeweils mehrfach ein weiteres MDIChild aufgerufen werden welches
Manipulationen vornehmen soll am darunter liegenden ListView im entsprechnden Form.


MainForm -> FormListe (1) -> FormEigenschaften von Item 1
-> FormEigeschaften von Item 25

-> FormListe (2) -> FormEigenschaften von Item 2
-> FormListe (3)

usw. So ist ungefähr der Aufbau der Formulare. Dabei ist FormListe ein
MDIChild von MainForm und FormEigenschaften ist ein MDIChild von FormListe.


Noch mals zu Problem 2. FormListe ist Maximiert, soll es auch sein.
Nun wird FormEigenschaften aufgerufen und zack FormListe ist nicht mehr
Maximiert, weil FormEigenschaften NICHT maximiert werden kann da
BorderIcon.Maximized := False ist!

Setze ich das auf True bleib FormListe maximiert jedoch wird
FormEigenschaften auch maximiert, was NICHT soll.

Alles etwas kompliziert

mfg

TUX
  Mit Zitat antworten Zitat
Sergej

Registriert seit: 12. Jun 2003
Ort: Stuttgart
169 Beiträge
 
#6

Re: MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 12:25
[edit] ich sollte zuerst lesen und dann schreiben...sorry [/edit]


Greetz Sergej
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#7

Re: MDIParent / MDIChild Komunikation

  Alt 1. Jun 2005, 12:48
Zitat von TUX_der_Pinguin:
Noch mals zu Problem 2. FormListe ist Maximiert, soll es auch sein.
Nun wird FormEigenschaften aufgerufen und zack FormListe ist nicht mehr
Maximiert, weil FormEigenschaften NICHT maximiert werden kann da
BorderIcon.Maximized := False ist!

Setze ich das auf True bleib FormListe maximiert jedoch wird
FormEigenschaften auch maximiert, was NICHT soll.
Ja, ist das von mir beschriebene Problem (Feature) nur aus einer anderen Sicht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz