原標題: A user draw button that supports PNG files with transparency, for Visual C++ 6.0 and VS2005 http://www.codePRoject.com/Articles/26887/A-user-draw-button-that-supports-PNG-files-with-tr
簡要步驟:
1.添加GDI+支持 (1) stdafx.h中添加
#include <gdiplus.h>using namespace GdiPlus;(2)在所在類中添加成員
ULONG_PTR m_gdiplusToken;(3)在InitInstance函數中添加
// Initialize GDI+Gdiplus::GdiplusStartupInput gdiplusStartupInput;Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);(4)在ExitInstance函數中添加
Gdiplus::GdiplusShutdown(m_gdiplusToken);2.添加對應的4個文件 (上方鏈接中下載,可能需要梯子) GdipButton.h GdipButton.cpp MemDC.h CGdiPlusBitmap.h 如果在VS2010下,因為CMemDC的關系,請對源碼進行相應的修改。在CMmeDC.h增加命名空間,
namespace ns_gdiBtn { class CMemDC : public CDC { .............................. }; };3.修改代碼用到CMemDC的地方改為ns_gdiBtn::CMemDC.
4.添加對應的PNG資源,然后按鈕做對應修改,CButton m_btnLogin 改為CGdipButton m_btnLogin;增加下面代碼 m_btnLogin.LoadStdImage(IDB_LOGINBTN, _T("PNG")); //正常狀態 m_btnLogin.LoadAltImage(IDB_LOGINACTIVE, _T("PNG")); //按下時 m_btnLogin.EnableToggle(TRUE);
新聞熱點
疑難解答