Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit OpenPictureDialog und Panel (https://www.delphipraxis.net/43137-problem-mit-openpicturedialog-und-panel.html)

Masenko 29. Mär 2005 18:00


Problem mit OpenPictureDialog und Panel
 
Hallo

Ich versuche einen Formelmaker (für Chemie) zu programmieren.
Mit dem Programm will ich mir dann selber Moleküle/Molekülstrukturen etc. zusammenbauen, indem ich ein vorgegebenes Image lade, das dann auf einem Panel freibeweglich(mit der Maus),um es dann selber anzuordnen, ausgegeben wird.

Wie kann ich jetzt ein Bild ohne die OpenDialog-Box (am besten aus dem Zwischenspeicher vielleicht???)laden ?

Wie kann ich das Bild auf dem Panel freibeweglich (mit der Maus) ausgeben?

SirThornberry 29. Mär 2005 19:01

Re: Problem mit OpenPictureDialog und Panel
 
1.) schmeiß ein TImage auf ein Panel.
2.) Im OnMouseDown des TImage musst du folgenden Code ausführen
Delphi-Quellcode:
 ReleaseCapture;
 DasPanelWoDasTImageDraufLiegt.perform(WM_SysCommand, $F012, 0);
Zu der anderen Frage mit dem laden aus dem zwischenspeicher kann ich dir keinen tipp geben weil ich nicht weiß wie das gehen soll. Wenn kein Opendialog verwendet werden soll, wie soll dann bitte der user ein bild auswählen können? Ohne eine Auswahl ist es schlecht den user ein bild auswählen zu lassen.

Masenko 30. Mär 2005 12:54

Re: Problem mit OpenPictureDialog und Panel
 
Schon mal danke für deine Antwort

Ich habe das so gemeint das wenn ich auf n Button klicke mir ein entsprechendes Image ausgeworfen wird, dass der User dann platzieren kann.
Deswegen ist meine Frage wie ich ein Image laden kann, ohne das der User eine Auswahl trifft.

Khabarakh 30. Mär 2005 13:01

Re: Problem mit OpenPictureDialog und Panel
 
Ich würde mir eine Konstante anlegen:
Delphi-Quellcode:
const FileNames: array [0..3] of string = ('bild1.jpg', 'bild2'.jpg', 'bild3.jpg', 'bild4.jpg');
Die Bilder liegen alle im Projektordner. Jetzt kannst du über eine Schleife die Bilder in Images (Bitmaps wären besser) laden.
Delphi-Quellcode:
for i := 0 to 3 do
  TImage(FindComponent('Image'+IntToStr(i))).LoadFromFile(FileNames[i]);


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