TImage - auf Knopfdruck Bild wechseln...
-
Hallo,
wie kann ich bei Der Komponente "TImage" auf Knopfdruck Bilder wechseln ???
Also ich will ein Knopf machen, der auf Knopfdruck von dem "Standard Bild" zu einem anderne auf meiner Festplatte wechselt... - Wenn ich das fertige Programm dann weitergebe, soll sich das Bild auch ändern können also muss ich das doch in einen speziellen Ordner packen, oder ???thx
mfg
-
Grundsätzlich:
TBitmap::LoadFromFile()
oder
TBitmap::LoadFromResource()
oder
TBittmap::Assign();
Je nachdem, was du tun willst.Ansonsten: Entweder du packst die Graphik in Verzeichnis unterhalb des Verzeichnisses, in dem das Programm liegt, und gibst die Graphik dann mit, oder du kompilierst sie in die .exe mit ein oder du erstellst eine Ressourcendatei.
Die einfachste Methode wird wohl sein, im OnClick eines Buttons mit TBitmap::LoadFromFile() die neue Graphik zu laden.
-
Hallo,
was wäre denn die einfachte Möglichkeit, wenn ich nur die .exe weitergeben möchte ?? Wie kompiliere ich die Images in eine .exe ??
-
TImageList ist hier das Stichwort!
-
Hallo,
..aber wie greife ich jetzt auf die einzelnen bitmaps zu ?? - per ImageIndex geht das ja nicht..
mfg
c++ booon
-
Hallo
Schau dir die Methoden von TImageList in der BCB-Hilfe mal genau und in Ruhe an.
bis bald
akari
-
Hallo,
irgendiwe blcike ich nicht mehr ganz durch... TImage hat kein ImageIndex wo ich ein bitmap festlegen und wechseln kann.. Ich hab es bereits mit LoadFromFile probiert kommt aber folgende Fehlermeldung:
Keine gültige Dateierweiterung (.).mfg
-
-
Hallo,
danke Ich hab zwei Imagelisten eine für kleine Bmp's 16x16 und die andere für Große 100x100. Bei der einen Imagelist (1, 16x16) wechselt das Bild, jedoch bei der anderen (2, 100x100) passiert überhaupt nichts, warum ??
-
Hallo,
bzw. wechselt TImage nur zu den kleinen Bildern (16x16) aber nicht zu den großen [(100x100) Imagelist2] ...?
mfg
-
Ohne etwas mehr Code werden wir dir da nicht viel sagen können.
-
Hallo,
Hier der code:
void __fastcall TForm1::FunktionGroupClick(TObject *Sender) { if(FunktionGroup->ItemIndex == 1) ImageList2->GetBitmap(3, Image1->Picture->Bitmap); //Kleine Imagelist (16x16) // da wechselt das Bild... if(FunktionGroup->ItemIndex == 2) ImageLis1->GetBitmap(3, Image1->Picture->Bitmap); //Große Imagelist (100x100) // da wechselt das Bild nicht... }Also bei der 1. Imagelist wechselt das Bild, jedoch wenn ich statt der 1. die 2. angebe bleibt das Standard bild bestehen..
Vielleicht könnte das Problem darin bestehen, dass das Standard Bild 100x100 groß ist und die kleine Imagelist(1) max-werte von 16x16 hat und die große Imagelist(2) 100x100 ...?

mfg
-
Hallo,
ich glaub ich habe dne Fehler gefunden..
Und zwar verdeckt das Standardbild immer das neue Bild(Wechselbild)..
Aber wie kann ich jetzt wenn das "Item gecheckt wurde" das StandardBild unsichtbar machen bzw. löschen, so dass das andere Bild sichtbar wird ??mfg
-
TImage::Visible oder dieser FAQ-Beitrag
-
Hallo,
das Problem ist nur, das durch "Visible" die ganze Komponente unsichtbar wird und da sich beide Bilder die selbe Komponente teilen bringt das nichts... Ich brauch irgendeine Funktion, die das Standardbild unsichtbar macht bzw. löscht und das neue Bild sichtbar...
mfg
-
Hat sich erledigt! Hab es so probiert und siehe da es funktioniert!

if(FunktionGroup->ItemIndex == 1) { Image1->Picture = NULL; ImageList2->GetBitmap(0, Image1->Picture->Bitmap); } else if(FunktionGroup->ItemIndex == 2) { Image1->Picture = NULL; ImageList2->GetBitmap(1, Image1->Picture->Bitmap); }
