Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Formular an Objekte anpassen (https://www.delphipraxis.net/151945-formular-objekte-anpassen.html)

Delphi-Narr 7. Jun 2010 15:14

Delphi-Version: 2005

Formular an Objekte anpassen
 
Hallo,
ich habe ein Programm, bei dem der Nutzer die größe eines Objekts auf der Form anpassen kann (TImage).
Doch es vergrößert sich nur die Scrollbar, nicht aber die Zeichenfläche (Ich passe erst Höhe und Breite des Timage an, dann fülle ich es neu).
Weiß jemand, woran das leigen könnte???

Liebe Grüße!

s.h.a.r.k 7. Jun 2010 15:20

AW: Formular an Objekte anpassen
 
Ein TImage hat doch keine Scrollbar, daher vergrößerst du irgendwas anderes.

Delphi-Narr 7. Jun 2010 15:29

AW: Formular an Objekte anpassen
 
Nein, das Formular bekommt Scrollbars. Das TImage wird vergrößert (von width 800 auf 1200, was dann größer ist als der Bildschirm:

Delphi-Quellcode:
     Form2.Bild.width:=Breite.value;
     Form2.Bild.height:=hoehe.value;
     Form2.Bild.Canvas.Brush.color:=HGFarbe.brush.color;
     Form2.Bild.canvas.fillrect(rect(0,0,Form2.Bild.width,Form2.Bild.height));
     Form2.show;
     Form3.hide;
Doch das Image wird nicht größer...

DeddyH 7. Jun 2010 15:40

AW: Formular an Objekte anpassen
 
Nimm mal statt des Image eine Paintbox und zeichne in deren OnPaint-Ereignis.

himitsu 7. Jun 2010 15:46

AW: Formular an Objekte anpassen
 
Wenn ein TImage vergrößert wird, dann vergrößert sich nicht deren Inhalt.
(abgesehn von der Stretchgeschiechte, wo das Bild nur verzerrt angezeigt wird)

Wenn dieses also mit angepaßt werden soll, dann mußt du auch noch das enthaltene Bild vergrößern.

Namenloser 7. Jun 2010 15:46

AW: Formular an Objekte anpassen
 
Wie wäre es mit Delphi-Referenz durchsuchenTForm.AutoSize?

DeddyH 7. Jun 2010 15:47

AW: Formular an Objekte anpassen
 
Er hat ja gar kein Bild geladen, sondern zeichnet selbst auf dem Canvas herum (zumindest laut Code).

Namenloser 7. Jun 2010 15:48

AW: Formular an Objekte anpassen
 
Zitat:

Zitat von DeddyH (Beitrag 1026427)
Er hat ja gar kein Bild geladen, sondern zeichnet selbst auf dem Canvas herum (zumindest laut Code).

Ja, aber er verändert trotzdem die Größe des Images.

DeddyH 7. Jun 2010 15:54

AW: Formular an Objekte anpassen
 
Richtig, aber ich bezog mich auf
Zitat:

Doch das Image wird nicht größer...
Logisch, wenn man nicht im richtigen Ereignis zeichnet.

himitsu 7. Jun 2010 15:55

AW: Formular an Objekte anpassen
 
Wenn in TImage kein Bild enthalten ist, dann wird beim Zugriff auf das Canvas ein TBitmap erstellt und .Picture zugewiesen (irgendwo muß die Zeichnung ja rein).
Diese Bitmap bekommt genau die Größe des TImage (halt nur soviel wie nötig).

Bei einer Größenänderung werden aber enthaltene Bilder nimals angepaßt.

Heißt also, wenn man ein TImage in seiner Größe ändert, dann muß auch das enthaltene TBitmap mit angepaßt werden (vorallem bei einer Vergrößerung des TImage, wo das Bitmap dann zu klein wäre), wenn man dieses für eine Zeichenausgabe im kompetten Bereich nutzen will.


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