如题以下是加载png代码void CMyColorButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)//CMyColorButton派生至CButton
{
CRect rc;
GetClientRect(&rc);
CDC dc;
using namespace Gdiplus;//应用 GDI+前必须的设置
Graphics graph(GetDC()->m_hDC);
Image image(_T("C:\\testImg.png"));
graph.DrawImage(&image,0,0,rc.right-rc.left,rc.bottom-rc.top);
}点击按钮时候,明显看到按钮图标闪烁,查了很多资料说是双缓冲可以解决,但资源都是用bitmap的,请求大牛帮帮忙,给个实例万分感激buttonimagegdi+graph
{
CRect rc;
GetClientRect(&rc);
CDC dc;
using namespace Gdiplus;//应用 GDI+前必须的设置
Graphics graph(GetDC()->m_hDC);
Image image(_T("C:\\testImg.png"));
graph.DrawImage(&image,0,0,rc.right-rc.left,rc.bottom-rc.top);
}点击按钮时候,明显看到按钮图标闪烁,查了很多资料说是双缓冲可以解决,但资源都是用bitmap的,请求大牛帮帮忙,给个实例万分感激buttonimagegdi+graph
解决方案 »
- USB 的 控制
- 怎么可以用VC6或者VS2010生成一个安装程序,想把一些配置脚本和程序一把给安装了。谢谢
- 仿VC界面问题(syguisample)
- 最近做东西遇到的一个问题(ODBC)
- 求《winsock 2网络编程使用教程》配套光盘,100分奉上,不胜感谢!!
- 如何用vc实现捕获音频设备并调整音频属性
- 求高手!AOD调用SQL SERVER2005的存储过程,返回的结果集崩溃
- VS2012MFC基于单文档模式的自定义热键无法响应
- 请问:如何得到对话框的背景色值,及时给分,快来答啊
- to: kingzai() 这是你的领分专区,请进。
- 如何使用双缓冲在Button上画png?
- 从CMFCToolBarEditBoxButton继承子类失败!求教
CDC dcMem;//以下是输出位图的标准操作
CBitmap *pOldBitmap = NULL;
dcMem.CreateCompatibleDC(NULL);
pOldBitmap = dcMem.SelectObject(&pDoc->m_bmpBuf);graphic(dcMem);
graph.DrawImage(&image,0,0,rc.right-rc.left,rc.bottom-rc.top);BITMAP bmpinfo;
pDoc->m_bmpBuf.GetBitmap(&bmpinfo);
pDC->BitBlt(0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(pOldBitmap);
dcMem.DeleteDC();
这个代码我也找过,使用bitmap的,但是bitmap没有半透明,所以必须使用png,求一个png的双缓冲,谢谢