![]() |
Hilfe bei TLMDGraphicList und Imageausgabe......
Hi, bin neu hier im Forum und habe mich zu meiner Frage schon quer durch die Suchfunktion gewurschtelt, allerdings ohne gewünschten Erfolg! :pale:
Nun hoffe ich, dass einer von euch mir weiter helfen kann. Ich "versuche" gerade ein Programm für Sammler zu proggen, indem in einer Combobox die verschiedenen Artikel aufgerufen werden können. Wenn ich nun in dieser Combobox einen Artikel auswähle, soll ein Image des Artikels angezeigt werden. Die Bilder die ich anzeigen lassen will sind im *.JPG Format. Aus diesem Grund habe ich mich für eine TLMDGraphicList Komponente entschieden. Nochmals kurz: Combobox zum auswählen, soll aus einer TLMDGraphicList das Bild (JPG), in einem Image od. LMDLImage anzeigen... Bitte um Anregungen zu diesem Problem. |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
Moin ApoCalyps0,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Also ich kenne jetzt die TLMDGraphicList nicht, denke aber mal, dass man dort die einzelnen Graphiken per Index ansprechen kann. Diesen Index kannst Du in der ComboBox gleich zu jedem Eintrag mitspeichern, indem Du die Items per AddObject hinzfügst, wobei das "Object" einfach nur der Index der zugehörigen Graphic ist.
Delphi-Quellcode:
Auslesen geht dann mit:
ComboBox1.Items.AddObject('Der anzuzeigende Text',TObject(iIndexInDerGraphicList));
Delphi-Quellcode:
iIndexInDerGraphicList := integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]);
Nur damit sich ggf. niemand wundert, oder nach einem Fehler sucht (auch wenn es Dich jetzt nicht betrifft): Die Zeilen in TMemo und TRichEdit sind zwar auch von TStrings abgeleitet, und man kann, ohne Fehler, jeder Zeile etwas per AddObject zuweisen, aber es wird in diesen beiden Fällen nichts dort gespeichert, und man erhält als Wert für ein Objekt immer 0 zurück. Ansonsten sollte die Verwendung von AddObject bei allen von TStrings abgeleiteten Klassen funktionieren. |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
Hi,
danke für die schnelle hilfe. Hab versucht es einzubinden, funzt aber nicht........ Ich hab hier mal einen Teil meines Quelltextes.....
Delphi-Quellcode:
Allerdings funzt es halt nicht...????
unit Unit3;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus, jpeg, ExtCtrls, ImgList, LMDBaseControl, LMDBaseGraphicControl, LMDGraphicControl, LMDBaseImage, LMDCustomLImage, LMDLImage, LMDCustomImageList, LMDGraphicList, LMDThemedComboBox, LMDCustomComboBox, LMDComboBox, LMDControl, LMDCustomControl, LMDCustomPanel, LMDButtonControl, LMDCustomCheckBox, LMDCheckBox, LMDCustomListBox, LMDCustomImageListBox, LMDImageListBox, LMDFill; type TForm3 = class(TForm) Button1: TButton; Button2: TButton; combobox1: TComboBox; CheckBox1: TCheckBox; CheckBox2: TCheckBox; CheckBox3: TCheckBox; CheckBox4: TCheckBox; CheckBox5: TCheckBox; CheckBox6: TCheckBox; CheckBox7: TCheckBox; CheckBox8: TCheckBox; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Label1: TLabel; LMDGraphicList1: TLMDGraphicList; LMDLImage1: TLMDLImage; procedure combobox1Change(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form3: TForm3; implementation Uses Unit2, Unit1; {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin Form3.close; Form2.Visible:=true; end; procedure TForm3.Button2Click(Sender: TObject); begin Form2.close; Form1.close; close; end; procedure TForm3.combobox1Change (Sender: TObject); begin If ComboBox1.Text = 'Great Beast' Then begin LMDGraphicList1.Graphics[0]; <-------- Hier soll das erste Bild aus der GraphicList1 geladen werden, und.... LMDLImage1.Visible:=true; <-------- hier in LMDLImage1 ausgegeben werden. CheckBox1.Checked:=true; CheckBox2.Checked:=false; CheckBox3.Checked:=false; CheckBox4.Checked:=true; CheckBox5.Checked:=true; CheckBox6.Checked:=false; CheckBox7.Checked:=false; CheckBox8.Checked:=true; end; If ComboBox1.Text = 'Hydra' Then LMDLImage1:=nil; <-------- Hier soll das erste Bild gelöscht werden, bzw. von LMDLImage1 entfernt. begin LMDGraphicList1.Graphics[2]; <-------- Hier soll das zweite Bild aus graphicList1 ins LMDLImage1 hereingeladen werden LMDLImage1.Visible:=true; <-------- Machts aber nicht!!!! CheckBox1.checked:=true; CheckBox2.Checked:=false; CheckBox3.Checked:=false; checkBox4.Checked:=true; CheckBox5.Checked:=true; CheckBox6.Checked:=false; CheckBox7.Checked:=false; CheckBox8.Checked:=true; end; If ComboBox1.Text = 'Werewolf' Then begin CheckBox1.checked:=true; CheckBox2.Checked:=true; CheckBox3.Checked:=false; CheckBox4.Checked:=false; CheckBox5.Checked:=true; CheckBox6.Checked:=true; CheckBox7.Checked:=false; CheckBox8.Checked:=false; end; If ComboBox1.Text = 'Behemoth' Then begin CheckBox1.checked:=false; CheckBox2.Checked:=true; CheckBox3.Checked:=false; CheckBox4.Checked:=true; CheckBox5.Checked:=false; CheckBox6.Checked:=true; CheckBox7.Checked:=false; CheckBox8.Checked:=true; |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
Hallo,
sry, aber das sieht ein bisschen wirr aus :angel: Zitat:
Delphi-Quellcode:
BTW: wenn die erste Grafik den Index 0 hat, hat die zweite den Index 1 und nicht 2 ;) . Und noch etwas: den aktuellen Text der ComboBox auszulesen halte ich für ineffektiv, geh besser über den ItemIndex.
LMDLImage1.Picture.Assign(LMDGraphicList1.Graphics[0]);
Delphi-Quellcode:
Wie gesagt, ich kenne die Komponenten nicht und kann daher nur raten, aber so in etwa könnte es funktionieren.
procedure TForm3.combobox1Change (Sender: TObject);
begin LMDLImage1.Picture.Assign(LMDGraphicList1.Graphics[ComboBox1.ItemIndex]); end; |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
Liste der Anhänge anzeigen (Anzahl: 1)
Hi DeddyH.
Ich bin keinesfalls ein Pro, was das programmieren betrifft. Ich bin ja durchaus schon mal froh, wenn es bis dato funktioniert. Ich denke, dass aber der Text der Combobox eingelesen werden muss, da dadurch die Checkboxen auf true bz. false gesetzt werden. Was aber.... Zitat:
LMDGraphiclist ist ähnlich der Imagelist Komponente, allerdings kann man JPG Bilder in diese laden. Bin offen, für weitere Ratschläge...... THX Ap0 |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
Welche Eigenschaften stellt denn LMDLImage1 bereit? Da muss es doch etwas geben, wo man die Grafik zuweisen kann.
|
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
wenn ich das wüsste....... Auf jedenfall, lässt sich der Inhalt von LMDGraphiclist1 nicht auf ein TPicturen zuweisen. Sagt zumindest der Debugger
:wall: :wall: :wall: ich bekomm schon Kopfaua! |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
Moin Zusammen,
TLMDLImage hat aber eine Eigenschaft ImageList. Der könnte man ja mal, testeshalber, die TLMDGraphicList zuweisen. Ausserdem hat TLMDImage auch eine Eigenschaft ImageIndex. Evtl. genügt es dann, nach der Zuweisung an ImageList hier den ImageIndex zu setzen, um ein entsprechendes Image aus der Liste anzeigen zu lassen. Ich vermute jetzt einfach mal, dass das L bei LImage für List steht... |
Re: Hilfe bei TLMDGraphicList und Imageausgabe......
:hello: Daaaaannnnkkkeeeee.
Die Anregung mit den Zuweisungen hat gefunzt, nur.... ging es nicht mit Imageindex sondern mit Listindex! LMDLImage1.ListIndex:=0; usw. hat mich dann zum Erfolg gebracht. Besten Dank für eure schnelle Hilfe. :corky: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 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