Wie kann ich in einem Button ein Bitmap anzeigen?
-
Hallo,
ich habe eine MFC Anwendung mit dem Assistenten erstellt und habe nun meinen Dialog in einer Resource Datei stehen.
Jetzt habe ich in diesem Dialog verschiedene Buttons und möchte in einigen eine Grafik anzeigen lassen.
Wie kann ich z.B. im Button IDC_Button1 ein Bitmap anzeigen lassen? Ich habe es bereits mit der Funktion SetBitmap versucht, was allerdings nicht geklapt hat.
Die Bitmap ist auch in einer Resoucre gespeichert!Danke für eure Hilfe!
-
im FAQ steht was drin
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39120.html
-
http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel14.htm
//mittels Assistent: CButton m_ctlButton; CBitmap m_Bitmap; //... void CTestDlg::OnButton1() { m_Bitmap.LoadBitmap( IDB_BITMAP1 ); m_ctlButton.SetBitmap( m_Bitmap ); } //Hier muß für die Schaltfläche unter "Eigenschaften - Formate" das Bitmap-Flag (BS_BITMAP) aktiviert werden.Empfehlenswert für Buttons mit Bilder und Text ist übrigens die Klasse FooButton:
http://www.codeproject.com/buttonctrl/FooButton.asp
-
Danke, gibt es irgendeine Möglichkeit eine Transparente Grafik in einem Button anzuzeigen?
-
ja
-
Ich habe Dir den Link auf die hervorragende Klasse FooButton bereits gegeben. Dort kannst Du eine transparente Farbe nach freier Wahl angeben, sodass die Bitmap nicht rechteckig auf dem Button erscheint.
Ausschnitt aus FooButton.h:
//! Sets the button's bitmap id. //! @param nBitmapId Bitmap id (-1 means none). //! @param rgbTransparent Bitmap's transparency color (default = RGB(255,0,255) void setBitmapId (int nBitmapId, COLORREF rgbTransparent = RGB (255, 0, 255));