Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme mit der Positon von MDI-Child Fenstern (https://www.delphipraxis.net/42467-probleme-mit-der-positon-von-mdi-child-fenstern.html)

TankWart 19. Mär 2005 08:18


Probleme mit der Positon von MDI-Child Fenstern
 
Hallo zusammen,
Delphi Neuling braucht Hilfe.
Kann mit bitte einer erklären, wie ich vorgehen muss um MDI Child Fenster immer an der gleichen Position anzeigen zu lassen.
Bei mir ist das Fenster bei jedem Klick um ein kleines Stück nach unten versetzt und beim 5 wieder oben.
Ich hab es in der FormCreate mit left = "so und so" und top = "so und so" probiert, aber da kommt beim Aufruf über einen Tree, „Speicherzugriffsverletzung“.
Außerdem lassen sich die Kinder-Fenster außerhalb des Mutter-Fenster schieben.
Danke schon mal im Voraus.

Gruß
TankWart

Jelly 19. Mär 2005 08:50

Re: Probleme mit der Positon von MDI-Child Fenstern
 
Also erstmal herzlich willkommen in der Delphi Praxis...

Zitat:

Zitat von TankWart
Kann mit bitte einer erklären, wie ich vorgehen muss um MDI Child Fenster immer an der gleichen Position anzeigen zu lassen.

Wenn du aus deinem Fenster ein MDI Child Fenster machst, ändert Delphi die Eigenschaft "Position" deiner Form direkt mit. Das würd ich erstmal dann wieder zurück auf "psDefaultPosOnly" stellen.

Die Position des Fensters kannst du im OnShow Event beliebig nachträglich anpassen.

Zitat:

Zitat von TankWart
Außerdem lassen sich die Kinder-Fenster außerhalb des Mutter-Fenster schieben.

Dann machst du was falsch. Bist du sicher daß du das Mutterfenster auch als fsMDIForm in der FormStyle Eigenschaft gekennzeichnet hast ?

Die Muhkuh 19. Mär 2005 08:54

Re: Probleme mit der Positon von MDI-Child Fenstern
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von TankWart
Außerdem lassen sich die Kinder-Fenster außerhalb des Mutter-Fenster schieben.

Dann machst du was falsch. Bist du sicher daß du das Mutterfenster auch als fsMDIForm in der FormStyle Eigenschaft gekennzeichnet hast ?

Hi,

erstmal noch "Herzlich Willkommen in der DP".

Ich denke er meint, dass man die Fenster nach rechts oder nach unten schieben kann, dann entsteht ein Scrollbalken. Ich denke das möchte er verhindern

Albi 19. Mär 2005 09:16

Re: Probleme mit der Positon von MDI-Child Fenstern
 
Hallo,

Zitat:

Zitat von TankWart
Außerdem lassen sich die Kinder-Fenster außerhalb des Mutter-Fenster schieben.
Danke schon mal im Voraus.

Hast Du die Properties deines Forms richtig gesetzt? Also die Propertie FromStyle, deines MainForm oder das wo die Kinder angezeigt werden sollen, auf fsMDIForm und die deiner Kinder auf fsMDIChild.

Zitat:

Kann mit bitte einer erklären, wie ich vorgehen muss um MDI Child Fenster immer an der gleichen Position anzeigen zu lassen.
Du kannst doch im OnCreate des Forms einfach per FrmKind.top und FrmKind.left die Position setzen. Hier kannst Du z.B. immer '0' angegeben, dann wird es immer in der oberen Linke Ecke angezeigt oder du setzt die entsprechenden Properties im OI.

TankWart 19. Mär 2005 09:59

Re: Probleme mit der Positon von MDI-Child Fenstern
 
erst mal danke für die Schnelle Antworten, aber leider hat mir noch nichts so richtig gebracht.
Spider hat recht, ich möchte verhindern das ich das Fenster außerhalb des Client Height und Client Width schieben kann.
Das mit FormShow MID-Child.Top := 0 und MID-Child.Left := 0 funktioniert nicht weil ich da immer eine zugriffsfehler Meldung bekomme.
Vielleicht weiß ja noch einer eine Möglichkeit, oder ich stell mich nur zu doof an.

Gruß
Tankwart

Die Muhkuh 19. Mär 2005 10:32

Re: Probleme mit der Positon von MDI-Child Fenstern
 
Zitat:

Zitat von TankWart
erst mal danke für die Schnelle Antworten, aber leider hat mir noch nichts so richtig gebracht.
Spider hat recht, ich möchte verhindern das ich das Fenster außerhalb des Client Height und Client Width schieben kann.
Das mit FormShow MID-Child.Top := 0 und MID-Child.Left := 0 funktioniert nicht weil ich da immer eine zugriffsfehler Meldung bekomme.
Vielleicht weiß ja noch einer eine Möglichkeit, oder ich stell mich nur zu doof an.

Gruß
Tankwart

Hi,

das MDI-Child.Top := 0 gehört ins OnCreate :-) .

TankWart 19. Mär 2005 10:52

Re: Probleme mit der Positon von MDI-Child Fenstern
 
ich habs geschaft. :dancer2:

so funktioniert es:

[/procedure TForm1.dxMainTreeClick(Sender: TObject);
var
ActiveNodeIndex :Integer;
fchild1: TForm3;
fchild2: TForm2;
begin
lActiveNodeIndex := MainTree.FocusedNode.AbsoluteIndex;


case lActiveNodeIndex of

1: begin
fchild1 := TForm3.Create(self);
fchild1.Top :=0;
fchild1.Left :=0;
end;

2: begin
fchild2 := TForm2.Create(self);
fchild2.Top :=0;
fchild2.Left :=0;
end;
end;
end;]


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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