AGB  ·  Datenschutz  ·  Impressum  







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

mehrere Formulare gleichzeigig

Ein Thema von iron · begonnen am 12. Nov 2007 · letzter Beitrag vom 13. Nov 2007
Antwort Antwort
iron

Registriert seit: 10. Jul 2006
Ort: Berlin
113 Beiträge
 
Delphi 2005 Personal
 
#1

mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 12:58
Hab da mal ein blödes anliegen,

ich möchte gerne mehrere Formulare als Hauptfenster aneinander setzen, die sich auch beim Programmstart alle öffnen und man diese allerding unabhängig voneinander dann auch verschieben kann. Ich möcht das ich z.B. Form2 und Form3 einzeln verschieben kann und beim verschieben von Form1 sollen alle drei gleichzeitig als ein Formular verschoben werden

Vielleicht kenn jemand diesen effekt, als verständnis hab ich ein kleines Bild angehängt.

Mein Problem iss nun das ich diese drei Formulare hab, und beim OnCreate des ersten Formulares wollt ich die anderen beiden öffnen lassen, bekomm nur bei Start ne Zugriffsverletzung.

Wie kann man das nun hinbekommen das alle drei öffnen.
Miniaturansicht angehängter Grafiken
unbenannt_602.jpg  
wer früher stirbt, ist länger Tot

Berliner Community http://berliner-cafe.de
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 13:16
im quelltext des programms die formulare nach deren erzeugung sichtbar machen.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 13:39
Zitat:
im quelltext des programms die formulare nach deren erzeugung sichtbar machen.
Also z.B. im OnShow von Form1

P@Tti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
iron

Registriert seit: 10. Jul 2006
Ort: Berlin
113 Beiträge
 
Delphi 2005 Personal
 
#4

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 13:58
Ja Danke habs nun hinbekommen, nun noch eins, gibt es eine leichte Methode z.B. im OI die Fenster aneinanderzustellen oder muss ich manuell alles Fenster Positionieren.
wer früher stirbt, ist länger Tot

Berliner Community http://berliner-cafe.de
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 14:03
Wenn du mit "aneinanderstellen" auch meinst, dass die Fenster so wie oben beschrieben aneinader kleben und miteinander verschoben werden, dann musst du dies wohl "per Hand" im Quelltext machen.
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
iron

Registriert seit: 10. Jul 2006
Ort: Berlin
113 Beiträge
 
Delphi 2005 Personal
 
#6

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 14:09
genau das meinte ich und danke, ich dachte es gäbe irgendeine einstellung dafür, dann muss ich wohl eben in den sauren Apfel beissen
wer früher stirbt, ist länger Tot

Berliner Community http://berliner-cafe.de
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 17:22
Hi,

die obersten beiden Fenster könnte man eventuell schon mal mit der Funktion TileWindows() nebeneinander setzen.
Delphi-Quellcode:
var
  r: TRect;
  WndList: array[0..1] of HWND;
begin
  r:= screen.WorkAreaRect;
  inc(r.Left, 100);
  inc(r.Top, 100);
  dec(r.Bottom,300);
  dec(r.Right, 100);
  WndList[0]:= self.Handle;
  WndList[1]:= form2.Handle;
  TileWindows(0, MDITILE_VERTICAL, @r, high(WndList)+ 1, @WndList);
So in etwa.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#8

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 17:57
Zitat von patti:
Zitat:
im quelltext des programms die formulare nach deren erzeugung sichtbar machen.
Also z.B. im OnShow von Form1

P@Tti
ich meinte eigendlich im quelltext des programms, also hier:
Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1},
  Unit2 in 'Unit2.pas{Form2},
  Unit3 in 'Unit3.pas{Form3};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1); // 1.Form wird erzeugt, Form1.FormCreate wird aufgerufen
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Form2.show; // hier
  Form3.show;
  Application.Run;
end.
(Projekt -> Quelltext anzeigen)
Form1.OnShow wird immer aufgerufen wenn Form1 sichtbar gemacht wird (Visible auf True gesetzt wird).

Und das gleichzeitige bewegen musst du selber machen,
hier ist mal ein ansatz.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: mehrere Formulare gleichzeigig

  Alt 12. Nov 2007, 19:03
Zitat von iron:
Ja Danke habs nun hinbekommen, nun noch eins, gibt es eine leichte Methode z.B. im OI die Fenster aneinanderzustellen oder muss ich manuell alles Fenster Positionieren.
Gibt es da in der JVCL nicht eine Kompo Namens "TMagnetForm" oder so ähnlich, die genau das ohne großen Programmieraufwand macht? Ich meine mich da ganz dunkel an was erinnern zu können...
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
iron

Registriert seit: 10. Jul 2006
Ort: Berlin
113 Beiträge
 
Delphi 2005 Personal
 
#10

Re: mehrere Formulare gleichzeigig

  Alt 13. Nov 2007, 02:56
Zitat von Dunkel:
Gibt es da in der JVCL nicht eine Kompo Namens "TMagnetForm" oder so ähnlich, die genau das ohne großen Programmieraufwand macht? Ich meine mich da ganz dunkel an was erinnern zu können...
Da haste recht, hätte ich auch gleich gucken können

Und alle anderen danke ich für Ihr Codes und antworten.
wer früher stirbt, ist länger Tot

Berliner Community http://berliner-cafe.de
  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 05:35 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