AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MDI über TabControl steuern.

Ein Thema von yankee · begonnen am 28. Apr 2004 · letzter Beitrag vom 28. Apr 2004
Antwort Antwort
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#1

MDI über TabControl steuern.

  Alt 28. Apr 2004, 18:00
Ich schreibe einen Editor und will mehrere Dokumente damit öffnen können. Ich habe mir das Ursprünglich so vorgestellt, dass ich ein MDIchield maximiert starte (wie geht das eigentlich?) und jenachdem auf welches Tab man klickt, das mdi-dings im Vordergrund geholt wird.

Ich fasse meine Fragen nochmal zusammen:
wie hole ich ein bestimmtes MDIchild in den Vordergrund?
Wie maximiere ich ein MDIchild?


Und ich meine demletzt mal sowas in der Freewareabteilung gesehen zu haben, weswegen das 1. gehen muss und 2. jemand weiß wie's geht!
Achso: ich habe mich bereits der Suchenfunktion bedient und diesen Thread gefunden: der andere Thread Nur leider kamen die Diskutierenden zu keinem brauchbaren Ergebnis.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 18:45
Also, mein Vorschlag ist nicht eine MDI-App zu erstellen, sondern ein ganz normales Form. Das was du sonst auf dem MID-Child hast gibst du in ein Frame, und das ganze kannst du dann von mir aus 10000 mal erstellen. Die Tabsheets auf dem Pagecontrol kannste auch zur Laufzeit erstellen... ich denke mir das so:
Delphi-Quellcode:
NewTab := TTabSheet.Create(Self);
NewTab.Parent := PageControl1;
ChildFrame := TChildFrame.Create(Self);
ChildFrame.Parent := NewTab;
Etwa in diese Richtung könnte es funktionieren...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#3

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:02
Ich habe das mal so ähnlich gemacht. Nur habe ich die SynEdits direkt (also ohne Frame) auf das Tab gedingst. Naja, das Problem bleibt, wenn ich eine Datei lade oder speichere, ist das ganze zu Ende, denn ich weiß nicht woher / wohin.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:03
Datei öffnen: Neues Tab erstellen
Datei Speichern: Aktuelles Tab mit PageControl.ActivePage oder PageControl.ActivePageIndex abfragen...
War das dein Problem oder hab ich das falsch verstanden?
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:19
ja, soweit bi ich auch gekommen. ICh habe mir sogar eine Funktion geschrieben, die den Namen des aktuellen SynEdit zurückgibt. Aber das:
getActiveSyn.lines.loadfromfile geht nicht, sondern nur das:
if getActiveSyn ='synedit1' then synedit1.lines.loadfromfile;
if getActiveSyn ='synedit2' then synedit2.lines.loadfromfile;
if getActiveSyn ='synedit3' then synedit3.lines.loadfromfile;
Und das hat zwei Nachteile:
1. Ist der Quelltext ziemlich lang und unoptimiert
2. Ist die Anzahl an Edits jenachdem stark begrentzt.

Und mal abgesehene davon kann es doch eigentlich nicht so schwer sein, ein MDIchild gezielt in den Vordergrund zu bringen.
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#6

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:23
Hast du das mit FindComponent gelöst? Könntest du bitte mal den Code der Funktion getActiveSyn posten?
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:30
Hi,

Ich würde es so ähnlich machen.

Delphi-Quellcode:
function ActiveSynEdit: TSynEdit;
var
  Index: Integer;
begin
  Index := PageControl.ActivePageIndex;
  if Index > -1 then
    Result := PageControl.Pages[Index].FindComponent(Format('SynEdit%d', [Index])) as TSynEdit else
  Result := nil;
end;
Zwar nicht optimal, aber es sollte laufen.
Musst noch schauen, wie du deine SynEdits erstellt und bennant hast.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#8

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:35
Der Quelltext sieht interessant aus. Für meine Zwecke jedenfalls optimiert genug.
Nur mit dem Befehl FindComponent habe ich mich noch nie auseinader gestezt. Ich weiß gerade mal von der Existenz davon. Könntest du mir den mal erklären? Oder mir 'nen Link posten? Google brachte leider nichts brauchbares...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#9

Re: MDI über TabControl steuern.

  Alt 28. Apr 2004, 19:43
Hi,

in der DP wirst du fündig:
Hier im Forum suchenFindComponent

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:31 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