Entwickler-Ecke
Sonstiges (Delphi) - Strategiesches Vorgehen
dany - Fr 25.07.03 13:32
Titel: Strategiesches Vorgehen
Hi,
ich möchte in einen Formular, 2 weitere plazieren. In den 2 weiteren Formularen befinden sich Edit, Combo usw. . Diese Formulare sehen aber absolut gleich aus. Ich möchte eines dieser Formulare fertig machen, dann zu einer Klasse erheben und jetzt aus dem Hauptformular zweimal initalisieren ( mit zwei unterschiedlichen Namen versteht sich ). Wie gehe ich da am besten vor. Sollte ich ertsmal eines so fertigmachen und dann zur Klasse erheben? Wie geht es am schnellsten und einfachsten?
dany
ShadowThief - Fr 25.07.03 13:53
wie erhebt man ein fertig gemachtes formular zu einer klasse?
JoelH - Fr 25.07.03 14:01
Titel: hmm,
warum machst du das Hauptfenster nicht einfach zu einem MDI Fenster, also Formstyle fsMDIFOrm
und die anderen Fenster zu MDI Childs. Ich denke das ist was du tun willst. Naja und von den Childs kannste soviele Instanzen erstellen wie Speicher in deiner Kiste ist.
dany - Fr 25.07.03 14:02
Titel: zu bedenken
es darf erst zur Laufzeit erzeugt werden. Das Hauptformular wird MDI. die beiden Child-MDI. Die Namen der Objekte werden erst jetzt festgelegt durch den Namen der bei der Initialisierung übergeben wird. Ist nicht ganz so einfach.
JoelH - Fr 25.07.03 14:05
Titel: hmm,
wo ist denn das Problem ?
Einfach in Projekt/Options die AutoCreateForms bearbeiten und dann die CHilds so aufrufen
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TmdiMain.Oeffne_MDIAUSWAHL;
var Header : String;
begin wincount:=wincount+1; Header:='Auswahl'+IntToStr(wincount); //Hier die Caption zusammenbauen if CheckWindowFromMain(Header) then Begin m_mdiAuswahl:=TmdiAuswahl.create(Self); m_mdiAuswahl.Caption:=Header; m_mdiAuswahl.show; end; End; |
und
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| function TmdiMain.CheckWindowFromMain(sCaption:String):Boolean;
var bStatus : boolean; i : integer;
Begin bStatus:=TRUE; Begin for i := screen.Formcount - 1 downto 0 do if trim(screen.Forms[i].Caption) = trim(sCaption) then begin // ... dann hole es nach vorne screen.Forms[i].BringToFront; screen.Forms[i].Repaint; bStatus:=FALSE; end; end; CheckWindowFromMain:=bStatus; end; |
holt das richtigige in den Vordergrund wenn es schon da ist.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!