Nochmal Bitmap und Button



  • Hallo.
    Ich habe folgendes Problem:
    Ich habe einen Button, mit einem Bitmap drauf.
    Nun will ich, wenn ich darauf klicke, dass entweder ein anderes Bitmap geladen wird, bzw. der in den Gedrückt-Zustand geht und bleibt!
    Beim nochmaligen Drücken soll das erste Bitmap wieder geladen werden bzw. der Nichtgedrückt-Zustand erreicht werden.

    Habe schon mit CButton und CBitmapButton herumprobiert.
    Kriege z.B. das aktuelle Bitmap zu holen und mit der aus der Resource zu vergleichen (1er Ansatz).
    Weiss jemand Bescheid? Oder ist klar, was ich will?



  • Das mit dem gedrückt bleiben ist eine Checkbox, die aussieht wie ein Button, das kannst du in den Eigenschaften einstellen. 🙂

    Und ein anderes Bitmap draufpacken ist auch ganz einfach:

    m_bmpHcRe.DeleteObject(); // Altes löschen
    m_bmpHcRe.LoadBitmap(IDB_BMP_HC_KEIN); // Neues laden
    m_btnHcRe.SetBitmap(m_bmpHcRe); // Neues anzeigen
    

    m_bmpHcRe ist ein CBitmap.
    m_btnHcRe ist ein CButton.

    🙂



  • Oh, wusste ich ja noch nicht, dass das nur CheckBoxen sind.
    Leider bleibt meine Box nur grau?!?

    Habe schon versucht, unter Eigenschaften Bitmap auf true zu setzen.
    OwnerDrawn gibt es hier ja nicht.
    Weisst du vielleicht weiter?



  • Also das mit dem Button gedrückt lassen habe ich schonmal gemacht. Die benutzt SetState(bool) um ihn in gedrückt oder nicht gedrückt zu versetzen und mit GetState() bekommst du heraus ob der button gedrückt ist oder nicht!



  • Das habe ich ja leider nicht hinbekommen.Mit SetState kannst du leider nur sagen, ob er highlighted ist oder nicht.
    Setzt du auf TRUE, dann ist es gleichbedeutend mit dem Push-Zustand.
    Ich habe aber keine vernünftige if-Abfrage hinbekommen, wie ich das ständig togglen könnte. 😞
    Mit GetState kannst du seltsamerweise aber mehrere Informationen herausholen.

    Aber das mit der CheckBox hört sich sehr gut an. 😉
    Klappt wie gesagt, noch nicht ganz.



  • Die beiden Lösungen von oben habe ich noch nie kombiniert versucht - immer nur voneinander getrennt.
    Ich weiß nicht, ob man das "mischen" kann.



  • Oh, ne. Hast mich falsch verstanden. Ich will nun deinen Lösungsvorschlag umsetzen. Kriege aber nicht mal ein Bitmap auf der CheckBox angezeigt.



  • Die Bitmap zeige ich auf einem normalen Button an.
    Also:
    Entweder Bitmap oder Checkbox.

    Oder wir reden wirklich aneinander vorbei. 😕



  • Ok, anscheinend tun wir das. Ich will folgendes haben:

    Ich habe einen Button(CheckBox oder CButton oder CBitmapButton????),welcher mir im nichtgedrückten Zustand Bitmap1 zeigen soll (auf dem Button selbst).
    Sobald ich ihn drücke soll er im gedrückten Zustand bleiben(!) und Bitmap2 anzeigen.
    Wenn ich nochmal drücke dann soll er wieder in den ersten, nichtgedrückten Zustand gehen und Bitmap1 anzeigen.

    🙂 🤡



  • @ estartu_de: Kannst du mir deinen Vorschlag nochmal verdeutlichen? 😕



  • Mein Vorschlag ist für deinen Wunsch nicht tauglich fürchte ich. 😞

    Ich dachte, es wäre eine "entweder so oder so" Frage, aber du möchstes beides zusammen haben. Das müsste ich mir selber erarbeiten und die Zeit habe ich leider gerade nicht.



  • Ok, kein Problem.;)
    Dennoch danke für den Vorschlag. 👍


Anmelden zum Antworten