Bild mit in die *.exe einbinden





  • hm....
    also ich entschudige mich hier erstmal das ich irgednwie nicht gescheit gesucht hab sons hätte ich ja erstmal genug gefunden 😮
    so...
    nun zu der ImageList.
    Ich hab 2Forms und eine ImageList.
    Jetzt will ich über einen Button auf Form1 das TImage auf Form2 steuern.
    Sieht jetzt so aus:

    ...
    Form2->Image1->Picture=ImageIndex=0;
    ...
    

    Jetzt gibt der mir aber eine Fehlermeldung das ImageIndex ein Undefiniertes Symbol sei.
    Ich hatte schonmal ein Programm da musste ich ImageIndex nicht definieren.
    Was habe ich falsch gemacht?



  • Hallo

    Jetzt will ich über einen Button auf Form1 das TImage auf Form2 steuern.

    genauer ausdrücken. Was soll "steuern" bedeuten?

    Form2->Image1->Picture=ImageIndex=0;
    

    Überleg dir doch bitte mal, was bei dieser Anweisung passiert, und wo ImageIndex deklariert ist.

    bis bld
    akari



  • Steuern soll bedeuten das ich über den Button einfach das Bild von Image1 ändern will.(Was auch sonst?)
    Überlegen wo ImageIndex deklariert ist... 😕
    ImageIndex???
    Wurde nie deklariert oder meinst du vieleicht so:

    Form2->Image1->Picture=(Form1->ImageList1->ImageIndex=0);
    

    hab ich acuh schon versucht ;)->Fehler!
    Also kannst du oder ein anderer bitte so freundich sein und einen Quelltext schreiben mit dem es gehen könnte?
    MFG Moon93



  • Hallo

    Steuern soll bedeuten das ich über den Button einfach das Bild von Image1 ändern will.(Was auch sonst?)

    Weil steuern (auch) bedeutet, etwas zu bewegen. In dem Fall ein vorhandenes TImage über ein TForm bewegen.

    ImageIndex???
    Wurde nie deklariert

    Genau, und deshalb kommt die Fehlermeldung, die auch sehr aussagekräftig ist.

    Bei dir sollte das so aussehen

    // Erstes Bild aus der Imagelist oben, links in Image zeichnen
    ImageList->Draw(Image->Canvas, 0, 0, 0, true);
    

    bis bald
    akari



  • Es gibt ein exta Methode in der Klasse TImageList die ein Bitmap zurückgibt

    Form2->Image1->Picture=ImageList1->GetBitmap(0);

    Hoffe sie heisst GetBitmap-> habe jetzt hier keinen Builder



  • ok der code von akari funzt.
    Christian ich muss dich leider enttäuschen es war nicht GetBitmap. 😮
    naja
    ok jettzt hat sich aber ein neues Problem reingeschmuggelt.
    Das bild ist nur 32x32Pixel groß 😡
    Ich dachte in die ImageList gehen auch größere. Geht das nicht oder was muss ich dazu ändern.
    Hab in der BCB-Hilfe leider nix gefunden in der FAQ auch nicht also...



  • Hallo

    dann schau dir doch nochmal in der BCB-Hile die Eigenschaften TImageList::Height und ::Width an.

    bis bald
    akari



  • ah danke aber man muss in der hilfe nicht nach ImageList::Height /::Witdh suchen das gibts nähmlich nicht sondern nach:
    TCustomImageList::Height
    weiß acuh nicht wieso bin nur zufällig drauf gestoßen.



  • Hallo

    das liegt daran weil die Anzeige standardmäßig nach Klassen (oder wie es die Hilfe nennt nach Objekten) sortiert ist.
    Klick in der Eigenschaften-Übersicht auf Alphabetisch, und jetzt werden alle, auch die abgeleiteten, nicht überschriebenen Eigenschaften in einer Liste angezeigt. Das gleich gilt auch für Methoden und Ereignisse.

    bis bald
    akari



  • ah danke.
    JO so stimmt es.

    @Christian: deine Version müsste so asusehen: ImageList1->GetBitmap(0,Form2->Image1->Picture->Bitmap);
    Hab ich in der Hilfe bei GetBitmap gefunedn des Form2->Hinzugefügt und es hat auch gefunzt also:
    Es war doch GetBitmap 👍


Anmelden zum Antworten