![]() |
bei klick auf bild dieses neu in originalgroesse oeffnen
hallo zusammen -
folgendes problem: ich habe ein kleines image, in das eine art vorschaubild eines jpg-bildes geladen wird. soweit, so gut. wenn der user nun jedoch auf dieses image draufklickt, soll sich screen-mittig ein neues formular oeffnen, das groessentechnisch angepasst an die originalgroesse des jpg-bildes ein image enthaelt, das wiederum das jpg-bild enthaelt - eben in originalgroesse. groesse des images und des formulars muessen also dynamisch an die jpg-bildgroesse, welche auszulesen ist, angepasst und screenmittig platziert werden. damit scheine ich z.z. ueberfordert. :-) wer vermag mir mit code zu helfen? beste gruesse, mijozi. |
Re: bei klick auf bild dieses neu in originalgroesse oeffnen
Machs am besten so:
Delphi-Quellcode:
Auf Form2 setzt du ein TImage und auf deine MainForm (oder Form1) erzeugst du die Image1Click-Methode.
procedure TForm1.Image1Click(Sender: TObject);
begin Form2.Image1.Picture:= Image1.Picture; Form2.Image1.Left:= 0; Form2.Image1.Top:= 0; Form2.Image1.AutoSize:= true; Form2.BorderStyle:= bsNone; // Formular ohne Taskleiste Form2.AutoSize:= true; Form2.Position:= poScreenCenter; Form2.Visible:= true; Form1.Enabled:= false; end;
Delphi-Quellcode:
Auf der Form2 erzeugst du für dieses Image wieder eine Image1Click-Methode, damit du später wieder auf das Hauptformular kommst.
procedure TForm2.Image1Click(Sender: TObject);
begin Form1.Enabled:= true; Form2.Visible:= false; end; |
Re: bei klick auf bild dieses neu in originalgroesse oeffnen
Als Anregung:
Du setzt auf das Form, das die große Anzeige bewerkstelligen soll, ein TImage. Positionierst es auf 0,0 (obere linke Ecke) und stellst die Eigenschaft Autosize auf True. Nach dem Laden des Bildes (Image1.Picture.LoadfromFile('irgendwas.jpg')) setzt du die Abmessungen des Forms auf die jetzigen neuen Abmessungen des Bildes (Form1.ClientWidth:=Image1.Width; Form1.ClientHeight:=Image1.Heigh;). So hast du schonmal die Größe des Forms dem Bild angepasst. Dann noch Form1.Position:=poScreenCenter und es ist zentriert. Das wäre eine Variante, wie man das bewerkstelligen kann. Edit: Ups, da war jemand schneller :) |
Re: bei klick auf bild dieses neu in originalgroesse oeffnen
danke, jungs, habe es nun folgendermassen geloest:
Delphi-Quellcode:
ciao,
{ Einstellungen zu Formular FormBild und dem dazugehoerigen Image vornehmen }
FormBild.AutoSize := True; FormBild.Position:= poScreenCenter; FormBild.ImgBildOriginalgroesse.AutoSize := True; FormBild.ImgBildOriginalgroesse.Top := 0; FormBild.ImgBildOriginalgroesse.Left := 0; FormBild.ImgBildOriginalgroesse.Picture := ImgBild.Picture; { Bildformular aufrufen } FormBild.ShowModal; mijozi. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz