Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TPanel und Image Frage??? (https://www.delphipraxis.net/80176-tpanel-und-image-frage.html)

Bernd29bln 4. Nov 2006 00:53


TPanel und Image Frage???
 
Hallo,

Ich habe auf meiner Form ein Panel, per Button wird ein Bild auf dem Panel erstellt.
Wie bekomme ich ein zweites Bild unter dem ersten.

Mein Code:
Delphi-Quellcode:

  bmp1:=TImage.Create(Panel1); // Bild erstellen.
  bmp1.Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
  bmp1.Parent:=Panel1;         // Bild ins Panel setzen
Gruss Bernd

Sunlight7 4. Nov 2006 02:49

Unbekannter Fehler
 
Hallo!

Deine Frage ist etwas dürftig formuliert.
Ich gehe mal davon aus, das Du ein zweites Image unter dem ersten platzieren möchtest.

Mein Code: :mrgreen:
Delphi-Quellcode:
// So
bmp2:=TImage.Create(Panel1); // Bild erstellen.
bmp2.Picture.Bitmap.LoadFromResourceName(HInstance, 'Unteres Bild');
bmp2.Parent:=Panel1;         // Bild ins Panel setzen

bmp1:=TImage.Create(Panel1); // Bild erstellen.
bmp1.Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
bmp1.Parent:=Panel1;         // Bild ins Panel setzen
Delphi-Quellcode:
// Oder so
bmp1:=TImage.Create(Panel1); // Bild erstellen.
bmp1.Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
bmp1.Parent:=Panel1;         // Bild ins Panel setzen

bmp2:=TImage.Create(Panel1); // Bild erstellen.
bmp2.Picture.Bitmap.LoadFromResourceName(HInstance, 'Unteres Bild');
bmp2.Parent:=Panel1;         // Bild ins Panel setzen

bmp1.BringToFront;
:feuerchen:

Bernd29bln 4. Nov 2006 07:44

Re: TPanel und Image Frage???
 
Hallo,

Du hast recht, war nicht ganz verständlich . Ich meinte es so.

Wen ich im Edit feld den wert 3 habe soll auch Bmp1 3 x auf dem Panel untereiander sichtbar angezeigt werden .

Gruss Bernd

Bernd29bln 4. Nov 2006 09:39

Re: TPanel und Image Frage???
 
Hallo,

Okay ich habs fast geschaft , ich hab bmp1 in ein Array gestopft.
Problem : Wenn ich im edit den wert 2 eintrage wird der abstand grösser zwischen den Led´s .

Mein Code:
Delphi-Quellcode:
var i: integer;
begin
i:= strtoint(Edit1.Text);
for i := 0 to 100 do
 begin

  bmp1[i]:=TImage.Create(Panel1); // Bild erstellen.
  bmp1[i].Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
  bmp1[i].Parent:=Panel1;         // Bild ins Panel setzen

if i > 0 then

bmp1[i].Top:= bmp1[i].Top* i;
panel1.Repaint;

Sunlight7 4. Nov 2006 12:26

Re: TPanel und Image Frage???
 
Hallo,

diese Frage, ist jetzt eine :gruebel:

Falls der Abstand nicht größer sein soll:

Mein Code:
Delphi-Quellcode:
var i: integer;
begin
i:= strtoint(Edit1.Text);
for i := 0 to 100 do
 begin

  bmp1[i]:=TImage.Create(Panel1); // Bild erstellen.
  bmp1[i].Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
  bmp1[i].Parent:=Panel1;         // Bild ins Panel setzen

// if i > 0 then // Macht keinen Unterschied, ob mit oder ohne

bmp1[i].Top:=bmp1[i].HEIGHT * i;
panel1.Repaint;
PS: Ich würde da dringend Schutzblöcke empfehlen :zwinker:

Bernd29bln 4. Nov 2006 13:13

Re: TPanel und Image Frage???
 
Danke für deine schnelle Antwort.

In wie fern meist du das mit schutz Blöcken ?

Gruss Bernd

Sunlight7 4. Nov 2006 16:48

Re: TPanel und Image Frage???
 
Wenn ich gerade Online bin, kann ich schnelle Antworten geben :zwinker:

Ich meine das zB so:

Delphi-Quellcode:
var i: integer;
begin
//i:= strtoint(Edit1.Text);
i:= strtointdef(Edit1.Text, 0); // <- Sicherer
If i>0 then try
  for i := 0 to 100 do
  begin

    bmp1[i]:=TImage.Create(Panel1); // Bild erstellen.
    bmp1[i].Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
    bmp1[i].Parent:=Panel1;         // Bild ins Panel setzen

//   if i > 0 then // Macht keinen Unterschied, ob mit oder ohne

  bmp1[i].Top:=bmp1[i].HEIGHT * i;
  panel1.Repaint;
except
  // Wenn Fehler, Abbrechen und bereits erstelltes frei geben, oder sonst entsprechend vorgehen
end;

Bernd29bln 4. Nov 2006 16:50

Re: TPanel und Image Frage???
 
Achso ja das ist gut , aber ich hab immer noch das problem das die Bitmaps nicht unter einander sichtba dargetellt werden. :wall:

Hast du dafür eventuell eine Idee?

gruss bernd

Sunlight7 4. Nov 2006 16:57

Re: TPanel und Image Frage???
 
Wo hakt's?

Bernd29bln 4. Nov 2006 17:01

Re: TPanel und Image Frage???
 
Also ich möchte die Leds untereinader (nicht übereinander) aufgereit haben bei meinem code verschiebt er die 2 led nur innerhalb der ersten led sie sollte aber genau unter der erten Led angezeigt werden .

gruss bernd

Sunlight7 4. Nov 2006 17:18

Re: TPanel und Image Frage???
 
Hmm. :gruebel:

Meinst Du jetzt übereinander an der y oder z Achse?

Könntest Du vielleicht ein Bild machen, damit auch ich ( :stupid: ) das kapiere?

Bernd29bln 4. Nov 2006 17:24

Re: TPanel und Image Frage???
 
Also gut hier das bild:

Zitat:

Leds auf Panel zeichnen.

O <--- Led1
o <--- Led2
o <--- Led3 u.s.w. wie viele Leds ergibt sich aus dem wert im Edit feld.


gruss bernd

Sunlight7 4. Nov 2006 17:41

Re: TPanel und Image Frage???
 
Also die LEDs sollen an der y Achse von unten beginnend ausgerichtet genau ohne Abstand übereinander stehen?

Bernd29bln 4. Nov 2006 17:43

Re: TPanel und Image Frage???
 
GENAU so will ich das haben aber bei meinem code functioniert das nicht wirklich.

gruss bernd

Sunlight7 4. Nov 2006 17:51

Re: TPanel und Image Frage???
 
Also das wirklich schwere daran ist, es mir zu erklären :mrgreen:

Du mußt Dir nur eine Variable dazu setzen, die runter zählt...

zB:
Delphi-Quellcode:
var i, t: integer;
begin
i:= strtoint(Edit1.Text);
t:=Panel.Height;
for i:=100 downto 0 do
 begin

  bmp1[i]:=TImage.Create(Panel1); // Bild erstellen.
  bmp1[i].Picture.Bitmap.LoadFromResourceName(HInstance, 'LedRotOff');
  bmp1[i].Parent:=Panel1;         // Bild ins Panel setzen

  Dec(t, bmp1[i].Height);
  bmp1[i].Top:=t;
end;
panel1.Repaint;
Sinngemäß so, nicht getestet.

Bernd29bln 4. Nov 2006 17:56

Re: TPanel und Image Frage???
 
Hallo,

Das funcktioniert so nicht , hab es gerade getestet .
Danke das du Dir die zeit nimmst mir zuhelfen, ich verstehe momentan auch nur noch Bahnhof.

Gruss Bernd

Sunlight7 4. Nov 2006 18:04

Re: TPanel und Image Frage???
 
So funkt's, gerade probiert :wink:

Delphi-Quellcode:
   var i, t:Integer;
begin
   t:=Panel1.Height;
   For i:=9 downto 0 do begin
      img[i]:=TImage.Create(Panel1);
      img[i].Picture.Bitmap.LoadFromFile('C:\Paddi.bmp');
      img[i].Parent:=Panel1;
      img[i].AutoSize:=True;
      Dec(t, img[i].Height);
      img[i].Top:=t;

      img[i].Hint:=IntToStr(i);
      img[i].ShowHint:=True;
   end;
Zitat:

Zitat von Bernd29bln
Danke das du Dir die zeit nimmst mir zuhelfen

Du hast es Dir ja schwer erarbeitet :mrgreen:

Bernd29bln 4. Nov 2006 18:21

Re: TPanel und Image Frage???
 
Hallo,

Echt klasse, kannst Du mir noch vertaten wie die anzahl der leds mit dem edit verändern kann.

gruss bernd

Sunlight7 4. Nov 2006 18:33

Re: TPanel und Image Frage???
 
Hmm, Deine Fragen sind so dürftig.

Aber versuchs mal so:
Delphi-Quellcode:
num:=StrToIntDef(Edit1.Text, 0);
If i>0 then
   for i:=Num-1 downto 0 do ...


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