Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Auf Width und Height von verfügbarem Formular zugreifen (https://www.delphipraxis.net/44917-auf-width-und-height-von-verfuegbarem-formular-zugreifen.html)

-NIP- 26. Apr 2005 19:01


Auf Width und Height von verfügbarem Formular zugreifen
 
Hi!

Ich schreibe hier gerade eine MDI-Anwendung und dabei ist Form2 ein verfügbares Formular, was ich beliebig oft aufrufen kann. Soweit klappt auch alles, nur wenn ich auf die Eigenschaften Width und Height zugreife (bzw. um eine PaintBox auf diese Größe zu stellen) gibt es zwar keinen Compilerfehler, aber wenn die Prozedur bei der Laufzeit ausgeführt wird, gibt es einen Fehler. Ich brauche aber diese Eigenschaften, wisst ihr wie ich sie mir holen kann?

-NIP-

Die Muhkuh 26. Apr 2005 19:03

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
ActiveMDIChild.Height
ActiveMDIChild.Width

bzw:

TForm2(ActiveMDIChild).PaintBox.Height
TForm2(ActiveMDIChild).PaintBox.Width

:gruebel:

-NIP- 26. Apr 2005 19:16

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
Wenn ich jetzt versuche die PaintBox auf die Größe der Form2 zu setzen kommt
wieder eine Zugriffsverletzung.
Im Code habe ich das
Delphi-Quellcode:
  PaintBox1.Width:=TForm2(ActiveMDIChild).ClientWidth;
  PaintBox1.Height:=TForm2(ActiveMDIChild).ClientHeight;
in der Create-Prozedur der Form2 stehen. Darf das vielleicht nicht in der Create-Prozedur stehen?

-NIP-

Kroko1999 27. Apr 2005 08:37

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
probieres doch mal in OnShow und setze ein Flag: Boolean, damit es nur einmal angepasst wird.

Muetze1 27. Apr 2005 11:15

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
Moin!

1. Wenn die PaintBox auf der TForm2 liegt, dann nutze Align oder Anchors um die Paintbox automatisch resizen zu lassen.
2. Prüfe vor dem Zugriff ob die Instanz in Form2 bzw. ActiveMDIChild überhaupt ungleich nil ist, schliesslich ist z.B. ActiveMDIChild Nil, wenn es nicht aktiv ist.
3. Wenn die TForm2 auf der Seite der "verfügbaren Forumulare" steht, dann musst du selber eine Instanz erzeugen - tust du dies?

MfG
Muetze1

-NIP- 27. Apr 2005 13:13

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
Ich weis zwar nicht, was du mit Instanz erzeugen meinst (sorry), aber wenn du das hier meinst:
Ich erstelle Form2 wie folgt:
Delphi-Quellcode:
TForm2.Create(self);
-NIP-

Die Muhkuh 27. Apr 2005 13:15

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
Hmm, MDIChild erstellt man doch so:

Delphi-Quellcode:
Application.CreateForm(TForm2, Form2); // Kann sein, dass die Parameter andersrum gehören, hab grad kein Delphi da

-NIP- 27. Apr 2005 13:26

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
Also ich machs so und das klappt bis auf die genannte Sache auch.
Ich hab das aus einem ProgrammierBuch namens "Borland Delphi7 Grundlagen
und Profiwissen" :)

-NIP-

-NIP- 4. Mai 2005 10:34

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
*push*

sorry, aber ich brauche die Lösung. Der bisher gepostete Code hat leider nicht funktioniert.

-NIP-

Steve 4. Mai 2005 10:39

Re: Auf Width und Height von verfügbarem Formular zugreifen
 
Hi,

steht der Code immernoch im OnCreate? Schau da mal, ob die PaintBox<>NIL ist...

Gruß
Stephan :dance:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.
Seite 1 von 2  1 2      

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