Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Formulargröße beim Öffnen immer gleich (https://www.delphipraxis.net/167462-formulargroesse-beim-oeffnen-immer-gleich.html)

JKHero 30. Mär 2012 20:54

Formulargröße beim Öffnen immer gleich
 
Moin,

ich habe ein Problem mit meiner Formulargröße: habe ein pagecontrol auf ein formular gesetzt, sodass das formular mehrmal mit einem anderen activen tab geöffnet wird. Beim ersten öffnen wird dieses auch in normalgröße (572x870) geöffnet. nach dem öffnen kann man dieses auch maximieren.
Wenn dieses formular nun geschlossen und beim nächsten mal geöffnet wird, bleibt es maximiert. ich möchte es aber wieder in normalgröße geöffnet haben.
ich habe auch bereits ein oncreate auf das formular gesetzt. Allerdings nur mit den abmessungen, also height:=572 und Width:=870.
muss ich da noch was anderes beachten oder gibt es ne andere lösung für das problem?

Christian Seehase 30. Mär 2012 20:58

AW: Formulargröße beim Öffnen immer gleich
 
Moin JK,

ich vermute mal, dass Du ein Unterformular meinst.
Beim Schliessen wird so ein Formular beim Close nur unsichtbar gemacht.
Die Grössenangabe im OnCreate hilft hier nicht, da dieses Ereignis in diesem Falle nicht ausgelöst wird.
Probier's mal mit dem OnShow-Event.

JKHero 30. Mär 2012 21:04

AW: Formulargröße beim Öffnen immer gleich
 
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
Form1.Height:=572;
Form1.Width:=870;
end;
hab das so versucht, bringt allerdings auch nichts.
aber du hast schon recht. es ist ein unterformular was jedesmal mit showmodal aufgerufen wird

haaaaaaalt stop! kommando zurück: klappt mit windowstate:= wsNormale ziemlich gut ;)

aber vielleicht kannst du mir noch verraten, warum ich meine form im programmier fenster nicht mehr sehen kann. die pas datei und so kann ich alles sehen, aber das formular an sich nicht so wirklich....

himitsu 30. Mär 2012 21:41

AW: Formulargröße beim Öffnen immer gleich
 
Oder erstell das Formular nur solange, wie es benötigt wird und gib es dann wieder frei.
Beim nächsten Mal wird es dann wieder mit den Design-Werten neu erstellt.
Und zwischendurch gammelt es auch nicht nutzlos im RAM rum.

Was heißt "nicht so wirklich" ?

JKHero 30. Mär 2012 21:43

AW: Formulargröße beim Öffnen immer gleich
 
ich habe es so gemacht, wie ich eben schon geschrieben habe. das geht am enifachsten.

nicht so wirklich heißt in diesem fall "gar nicht"

Christian Seehase 30. Mär 2012 22:28

AW: Formulargröße beim Öffnen immer gleich
 
Moin JK,

Zitat:

Zitat von JKHero (Beitrag 1159495)
aber vielleicht kannst du mir noch verraten, warum ich meine form im programmier fenster nicht mehr sehen kann. die pas datei und so kann ich alles sehen, aber das formular an sich nicht so wirklich....

mal angenommen ich habe Dich richtig verstanden:
Unit auswählen und F12 drücken.

JKHero 30. Mär 2012 22:40

AW: Formulargröße beim Öffnen immer gleich
 
Das hab ich auch schon versucht. Das komische ist ja, dass ich die unit, alles zur objekthierarchie und objektsinspektor sehen kann, aber das eigentliche formular nicht.
wer weiß wie ich mein programm wieder zerschossen habe...

Bummi 30. Mär 2012 22:52

AW: Formulargröße beim Öffnen immer gleich
 
Hast Du mal WindowState=wsNormal; versucht?

himitsu 30. Mär 2012 23:04

AW: Formulargröße beim Öffnen immer gleich
 
Wenn in der DPR der Form-Kommentar zur Unit fehlt, dann kann die IDE oftmals das Fenster nicht zuordnen.
Manuell reparieren oder Unit aus Projekt entfernen und neun einbinden.

JKHero 1. Apr 2012 12:48

AW: Formulargröße beim Öffnen immer gleich
 
die dpr schaut so aus. die nicht zu sehende form ist form1

Delphi-Quellcode:
program Mdiapp;

uses
  Forms,
  MAIN in '..\ECDIS Trainer Arbeitskopie\MAIN.PAS' {MainForm},
  CHILDWIN in 'CHILDWIN.PAS' {MDIChild},
  about in 'about.pas' {AboutBox},
  Unit1 in '..\Ecdis Trainer\Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2},
  Unit3 in 'Unit3.pas' {Form3},
  Unit4 in 'Unit4.pas' {Form4};

{$R *.RES}

begin
  Application.Initialize;
  Application.Title := 'ECDIS Trainer';
  Application.CreateForm(TMainForm, MainForm);
  Application.CreateForm(TAboutBox, AboutBox);
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm3, Form3);
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.

himitsu 1. Apr 2012 13:28

AW: Formulargröße beim Öffnen immer gleich
 
Automatisch wird nur die Mainform angezeigt, egal was in deren DFM angegeben ist.
Und die Mainfor ist nicht die, welche Mainform/Hauptform heißt, sondern es ist die Erste, welche über Application.CreateForm erstellt wird.
Wird die Mainform geschlossen, dann beendet sich auch das Programm.

Bei allen anderen Forms ist das Visible-Property dafür verantwortlich, ob diese sichtbar sind.



Warum heißen viele Forms Form1 bis FormX?

Und wieso müssen unbedingt alle Forms immer erstellt werden und sinnlos im RAM rumgammeln?
Wie oft wird wohl die TAboutBox benötig? ... Fast garnicht, also kann man sie auch erst erstellen, wenn jemand dieses sehn will.

mkinzler 1. Apr 2012 13:34

AW: Formulargröße beim Öffnen immer gleich
 
Andererseits hat ein moderner Rechner so viel Speicher, so dass es darauf auch nicht mehr ankommt.

himitsu 1. Apr 2012 13:38

AW: Formulargröße beim Öffnen immer gleich
 
Und?

Stell dir mal vor alle würden so arbeiten?
Gut, wenn Windows immer gleich alle DLLs und EXEn läd, die es findet, dann würden alle Programme superschnell starten, aber wir bräuchten ein paar TB RAM und der Bootvorgang würde dem von Linux entsprechen.

Ich benötige im Programm irgendwann mal 10 Stringlisten und noch anderes Zeugs, warum sollte ich das Alles nicht gleich beim Programmstart erstellen und in globalen Variablen ablegen?

mkinzler 1. Apr 2012 13:45

AW: Formulargröße beim Öffnen immer gleich
 
Du als erfahrener Progarmmierer nicht, aber bei ihm als Anfänger, sehe ich gerade wichtigere baustellen, als der Mehrverbrauch von ein paar KB.

Bummi 1. Apr 2012 13:50

AW: Formulargröße beim Öffnen immer gleich
 
ich tippe auf eine MDI-Anwendung, mit den üblichen Seiteneffekten ....

himitsu 1. Apr 2012 15:05

AW: Formulargröße beim Öffnen immer gleich
 
Besser es gleich von Anfang an richtig lernen.
Es ist sonst scheinbar sehr schwer sowas wieder rauszubekommen.

Ich erinnere mich da an die vielen globalen Variablen und andere kranke Dinge, welche wir von vielen Schülern (eventuell auch über deren Lehreren) vorgesetzt bekommen.
PS: Die Variable Form1 ist erstmal sehr selbsterklärend benannt und sie ist auch eine Globale.

mkinzler 1. Apr 2012 15:08

AW: Formulargröße beim Öffnen immer gleich
 
Wäre es falsch, würde ich dir Recht geben. Es ist aber nicht unbedingt falsch, nur unnötig! Zudem ist das geanu der Code, welcher von der IDE automatisch erzeugt wird.

Der.Kaktus 1. Apr 2012 15:16

AW: Formulargröße beim Öffnen immer gleich
 
Zitat:

Zitat von himitsu (Beitrag 1159670)
Und?

Stell dir mal vor alle würden so arbeiten?
Gut, wenn Windows immer gleich alle DLLs und EXEn läd, die es findet, dann würden alle Programme superschnell starten, aber wir bräuchten ein paar TB RAM und der Bootvorgang würde dem von Linux entsprechen.

Ich benötige im Programm irgendwann mal 10 Stringlisten und noch anderes Zeugs, warum sollte ich das Alles nicht gleich beim Programmstart erstellen und in globalen Variablen ablegen?

[OT]
@Himitsu Wie lange programmierst Du?..warst schon in Elbflorenz anner Entwicklung vom EC-1840 beteiligt und hast nie mal angefangen? (*sfg*)..bremse Dich mal bissl ein..auch wenn Du ein Wissen hast..die "ueberhebliche Art"..kannste Dir bissl abgewoehnen(nicht nur in diesem Beitrag feststelle). Jeder hat mein klein angefangen. :evil:
[/OT]

JKHero 1. Apr 2012 18:00

AW: Formulargröße beim Öffnen immer gleich
 
Ach Leute, solche "meinungsverschiedenheiten" führen ja nicht wirklich zur lösung des problems.

ich bin in sachen delphi blutiger anfänger, werde das programm auch nicht wieder benutzen, wenn mein kleines programm fertig ist. für meine niedrigen ansprüch reicht das, was ich das "programmiert" habe, völlig aus.daher wäre einfach nur gut, wenn ich meine meine Form wieder sehen könnte, damit ich drauf rumbasteln kann (ja, ich nenn das grad absichtlich rumbasteln)....

Bummi 1. Apr 2012 19:41

AW: Formulargröße beim Öffnen immer gleich
 
Dann pack doch mal das Projekt ohne exe in ein Zip und lad es hoch.


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