Eigenes Design für Controls, insbesondere Buttons



  • ok das bild hab ich schon.

    mir fehlt nur noch eine animation.

    Also WENN man draufklickt, dann soll das Bild kurzzeitig durch das andere ersetzt werden.



  • ich habs schon mit allem möglichen versucht. es funktioniert nicht, weil ja char * konstant ist. Es muss doch irgendwie noch gehen 😞



  • Hallo

    MFG 😞 schrieb:

    ich habs schon mit allem möglichen versucht. es funktioniert nicht, weil ja char * konstant ist. Es muss doch irgendwie noch gehen 😞

    😕 Was hat denn eine Animation mit const char* zu tun?

    Im allgemeinen must du eben das Bild während der Animation austauschen bzw. verändern. Eine einfache Art ist einen 3D-Rahmen um das eigentliche Bild zu zeichnen. Beispiel (B = Bild, H = Heller Rand, D = Dunkler Rand)

    H
    H B D
      D
    

    Wenn der Button nun gedrückt dargestellt werden soll, must du nur die Ränder austauschen

    D
    D B H
      H
    

    Diese Veränderung zeigst du zwischen MouseDown und MouseUp an.

    bis bald
    akari



  • hallo akari.

    also ich habs immer nur per Zuweisung versucht. ich kenne keine dementsprechende Funktion für soetwas 😕

    hab schon über google danach gesucht - nichts 😞

    Das mit dem Rahmen hab ich eigentlich erst später vor, aber ich kanns ja mal probieren, nur was soll ich da hinschreiben, zbsp. wenn ich mit der Maus anklicke? (wo ich es reinschreiben soll, weiss ich ja)

    mit freundlichen grüßen



  • Hallo

    Also zu den ersten beiden Sätzen kann ich nichts sagen da ich nicht weiß worauf du dich konkret beziehst.

    Und auch der dritte Satz ist schwammig, das ich nicht weiß was was du wohin schreiben willst.

    bis bald
    akari



  • akari schrieb:

    Hallo

    Also zu den ersten beiden Sätzen kann ich nichts sagen da ich nicht weiß worauf du dich konkret beziehst.

    Und auch der dritte Satz ist schwammig, das ich nicht weiß was was du wohin schreiben willst.

    bis bald
    akari

    hallo akari.

    ich will einfach nur einen code sehen, also wie ich das releasieren kann.
    sowas wie

    Image1->ErsetzeDurchAnderesBild("xyz.bmp");
    

    nur halt das richtige 😉

    mit freundlichen grüßen



  • Zum Zeichnen schau dir mal die Methoden von TImage::Canvas (TCanvas) an (z.B. MoveTo, LineTo, FrameRect).
    Eine schöne Funktion ist auch Extctrls::Frame3D(...)



  • Th schrieb:

    Zum Zeichnen schau dir mal die Methoden von TImage::Canvas (TCanvas) an (z.B. MoveTo, LineTo, FrameRect).
    Eine schöne Funktion ist auch Extctrls::Frame3D(...)

    ich will wirklich noch nichts zeichnen, ich will einfach nur das bild durch ein anderes ersetzen 😞

    aber danke trodzdem werd ich mir bald anschauen



  • hi

    weiss keiner was?

    mit freundlichen grüßen



  • Image->Picture->LoadFromFile("xyz.bmp");
    


  • Hallo

    Oder du bindest alles verschiedenen Bilder zur Entwurfszeit in eine TImageList und lädst die Bilder zur Laufzeit aus der List in das Image. Das geht schneller als zur Laufzeit Dateien zu öffnen.
    Siehe die Methoden von TImageList in der BCB-Hilfe.

    bis bald
    akari



  • Stimmt akari, deine Methode ist besser (solange die Bilder klein genug sind und alle immer benötigt werden).
    Der Nachteil ist halt, daß JPEG-, GIF- oder PNG-Bilder immer zu Bitmaps transformiert werden (also größer - bezogen auf den Festplattenplatz - werden).

    P.S. Aber eigentlich haben diese letzten Beiträge nichts mehr mit dem Original-Titel zu tun, evtl. könnte ein Mod (akari?) diesen Thread splitten?



  • Hallo

    Th schrieb:

    Der Nachteil ist halt, daß JPEG-, GIF- oder PNG-Bilder immer zu Bitmaps transformiert werden (also größer - bezogen auf den Festplattenplatz - werden).

    Ja das ist der Nachteil...

    P.S. Aber eigentlich haben diese letzten Beiträge nichts mehr mit dem Original-Titel zu tun, evtl. könnte ein Mod (akari?) diesen Thread splitten?

    Erledigt, abgetrennt von hier

    bis bald
    akari


Anmelden zum Antworten