16,472
社区成员
发帖
与我相关
我的任务
分享
HRESULT OnDrawAdvanced(ATL_DRAWINFO& di)
{
RECT& rc = *(RECT*)di.prcBounds;
HDC memDc;
HBITMAP bitmap;
memDc=CreateCompatibleDC(di.hdcDraw);
if (memDc!=NULL)
{
bitmap=CreateCompatibleBitmap(di.hdcDraw,rc.right-rc.left,rc.bottom-rc.top);
SelectObject(memDc, &bitmap);
Ellipse(memDc, rc.left, rc.top, rc.right, rc.bottom);
SetTextAlign(memDc, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("测试");
#ifndef _WIN32_WCE
TextOut(memDc,
(rc.left + rc.right) / 2,
(rc.top + rc.bottom) / 2,
pszText,
lstrlen(pszText));
#else
ExtTextOut(memDc,
(rc.left + rc.right) / 2,
(rc.top + rc.bottom) / 2,
ETO_OPAQUE,
NULL,
pszText,
ATL::lstrlen(pszText),
NULL);
#endif
//__debugbreak();
//SelectStockFont(&memDc);
BOOL b=BitBlt(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom,memDc,0,0,SRCCOPY);
DeleteObject(bitmap);
DeleteDC(memDc);
}
return S_OK;
}
HRESULT OnDraw(ATL_DRAWINFO& di)
{
RECT& rc = *(RECT*)di.prcBounds;
HDC memDc=CreateCompatibleDC(di.hdcDraw);
if (memDc!=NULL)
{
HBITMAP bitmap=CreateCompatibleBitmap(memDc,rc.right-rc.left,rc.bottom-rc.top);
SelectObject(memDc, &bitmap);
Ellipse(memDc, 0, 0, rc.right-rc.left,rc.bottom-rc.top);
SetTextAlign(memDc, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("测试");
TextOut(memDc,
(rc.right-rc.left) / 2,
(rc.bottom-rc.top) / 2,
pszText,
lstrlen(pszText));
BOOL b=BitBlt(di.hdcDraw, rc.left, rc.top, rc.right-rc.left,rc.bottom-rc.top,memDc,0,0,SRCCOPY);
DeleteObject(bitmap);
DeleteDC(memDc);
}
return S_OK;
}
HRESULT OnDraw(ATL_DRAWINFO& di)
{
RECT& rc = *(RECT*)di.prcBounds;
HDC memDc=CreateCompatibleDC(di.hdcDraw);
if (memDc!=NULL)
{
HBITMAP bitmap=CreateCompatibleBitmap(memDc,rc.right-rc.left,rc.bottom-rc.top);
SelectObject(memDc, &bitmap);
Ellipse(memDc, 0, 0, rc.right-rc.left,rc.bottom-rc.top);
SetTextAlign(memDc, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("测试");
TextOut(memDc,
(rc.right-rc.left) / 2,
(rc.bottom-rc.top) / 2,
pszText,
lstrlen(pszText));
BOOL b=BitBlt(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom,memDc,0,0,SRCCOPY);
DeleteObject(bitmap);
DeleteDC(memDc);
}
return S_OK;
}
HRESULT OnDraw(ATL_DRAWINFO& di)
{
RECT& rc = *(RECT*)di.prcBounds;
HDC memDc=CreateCompatibleDC(di.hdcDraw);
if (memDc!=NULL)
{
HBITMAP bitmap=CreateCompatibleBitmap(memDc,rc.right-rc.left,rc.bottom-rc.top);
SelectObject(memDc, &bitmap);
Ellipse(memDc, 0, 0, rc.right-rc.left,rc.bottom-rc.top);
SetTextAlign(memDc, TA_CENTER|TA_BASELINE);
LPCTSTR pszText = _T("测试");
ExtTextOut(memDc,
(rc.right-rc.left) / 2,
(rc.bottom-rc.top) / 2,
ETO_OPAQUE,
NULL,
pszText,
lstrlen(pszText),
NULL);
BOOL b=BitBlt(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom,memDc,0,0,SRCCOPY);
DeleteObject(bitmap);
DeleteDC(memDc);
}
return S_OK;
}
HRESULT OnDrawAdvanced(ATL_DRAWINFO& di)
{
RECT& rc = *(RECT*)di.prcBounds;
HDC memDc;
HBITMAP bitmap;
memDc=CreateCompatibleDC(di.hdcDraw);
if (memDc!=NULL)
{
int nWidth = rc.right - rc.left();
int nHeight = rc.bottom - rc.top;
bitmap=CreateCompatibleBitmap(di.hdcDraw, nWidth, nHeight);
HBITMAP hOldbmp = (HBITMAP)SelectObject(memDc, &bitmap);
Ellipse(memDc, 0, 0, rc.right, rc.bottom);
LPCTSTR pszText = _T("²âÊÔ");
DrawText(memDc, pszText, _tcslen(pszText), &rc, DT_CENTER|DT_VCENTER);
BitBlt(di.hdcDraw, 0, 0, nWidth, nHeight, memDc, 0, 0, SRCCOPY);
SelectObject(memDc, &hOldbmp);
DeleteObject(bitmap);
DeleteDC(memDc);
}
return S_OK;
}