CButton - Nochmals: Button mit Bitmap



  • Hi,

    du führst wahrscheinlich danach kein Update des Fensters durch. Du musst dem Fenster sagen, dass es sich nochmal neu zeichnen muss.
    UpdateWindow(); müsste funzen
    oder Invalidate()....ich glaub ReneG hat heute schon was dazu geschrieben.

    mfg



  • Nein, ich habe schon ein UpdateWindow drin!!!

    Übrigens, ich rufe den Code in der OnInitDialog Funktion auf. Ist er dort fehl am Platz?



  • hmhhh, der Code scheint wohl an der Stelle falsch zu sein. Für ich den Code z.B. in einer Funktion aus klappt alles.

    Das Problem ist nur, dass es halt beim Dialogstart sein sollte. Wie kann ich dass hinkriegen?????????

    [ Dieser Beitrag wurde am 29.01.2002 um 14:14 Uhr von AnTri editiert. ]



  • probier mal dass du für CBitmap ne membervariable nimmst und keine 'normale', in der funktion deklarierte variable.
    also bei mir funzt es zumindest damit, auch in InitDialog



  • Versuch es doch statt mit nem Bitmap mit einem Icon. Das kannst du so laden.

    HICON hIcon= AfxGetApp()->LoadIcon(IDI_Euro);
        m_CtrlEuro.SetIcon(hIcon);
    

    IDI_Euro ist der name des Icons und m_CtrlEuro ist die Control Variable des Buttons.

    (Ich selbst hab das für einen Euro umrechner benutzt).

    Falls es mit dem Bitmap nicht klappt versuch es halt so. So müsste es klappen.

    Mfg, Heiko



  • Das mit der Member-Variable funktioniert auch im OnInit tadellos. Die Frage ist nur warum geht es nur mit einer Member...

    Vielen Dank für die große Hilfe und die vielen Beiträge.



  • Kleine frage...
    wie bekomm ich den ein Bitmap als resource? bzw. wie weis ich dem Bitmap eine ID zu?



  • Nur mit einer Member, weil sonst das Bitmap nach verlassen der Methode wieder futsch ist....
    oder sehe ich das falsch?!?



  • @timo:
    denk ich auch, dass das dann futsch is

    @pho_no:
    bei den rsourcen ob mit rechts auf 'DeinProg Resourcen *' klicken. da dann 'einfügen', 'bitmap' und 'neu'. schon haste n neues bitmap in den resourcen. mit rechtsklick auf das bitmap und dann auf eigenschaften kannste die ID ändern



  • HBITMAP eigenbitmap;
    eigenbitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1));
    
    CButton* pbmp = (CButton*) GetDlgItem(IDC_BUTTON1);
    pbmp->SendMessage(BM_SETIMAGE, IMAGE_BITMAP, (LONG) eigenbitmap);
    

    Der Code ist selbsterklärend und einfach in die oninitdialog einbauen


Anmelden zum Antworten