TButton mit Hintergrundgrafik



  • Hallo,
    ich bin auf der Suche nach einer Buttonkomponente, die eine Hintergrundgrafik anzeigt.
    Ich weiß nicht so richtig was ich da genau suchen muss. der TSpeedButton ist eher doof, da er ja nur Links ein Icon anzeigt. Ich hätte das gern über die gesamte Breite und mit einem Caption.

    Wenn es das nicht gibt, wie kann ich mir sowas selbst bauen?
    In dem Tutorial (http://bcb-tutorial.c-plusplus.net/komponentenentwicklung ) wird scheinbar nicht erklärt, wie man grafische Anpassungen macht.

    Vielen Dank für eure Hilfe!



  • Hallo
    Du kannst auf die Canvas eines Speedbuttons oder Bitbuttons schreiben.
    Caption muss leer bleiben.
    Also erst die Hintergrund Grafik (Glyph) zuweisen.
    Dann auf den Hintergrund schreiben:

    SpeedButton1->Glyph->LoadFromFile("Hintergrund.bmp");
    SpeedButton1->Glyph->Canvas->Brush->Style=bsClear;  //damit der Font keinen eigenen Hintergrund hat
    SpeedButton1->Glyph->Canvas->TextOutA(10,10,"Button Text");
    

    wNw



  • Aber wenn ich das Programm dann kompiliere und weiter gebe, dann fehlt ja evtl die Grafik. Kann ich die irgendwie in das Programm "reinkompilieren" ?



  • Hallo,

    Unter anderem können Grafikdateien als Resourcen zum Programm hinzugefügt und dann geladen werden.
    Eventuell geht auch ImageList.



  • Mit TImage geht es bei mir ganz gut.



  • Aber wenn ich das Programm dann kompiliere und weiter gebe, dann fehlt ja evtl die Grafik. Kann ich die irgendwie in das Programm "reinkompilieren" ?

    Wenn du die Grafik bereits zur Entwurfszeit dem Button zuweist, wird sie automatisch in die Projekt.exe "reinkompiliert".
    Dann brauchst du sie nicht extra als Resource einbinden oder bei der Projekt.exe mitliefern.
    Also folgendes streichen:

    SpeedButton1->Glyph->LoadFromFile("Hintergrund.bmp");// bitte streichen
    

    Und stattdessen manuell, während der Entwurfszeit, die Grafik laden.

    Wenn du dynamisch erstellte Buttons brauchst, dann melde dich noch mal
    wNw

    Edit: Verständnissprobleme beseitigt


Anmelden zum Antworten