int SHotKeyCtrl::OnCreate( LPVOID ) { int nRet=__super::OnCreate(NULL); if(nRet!=0) return nRet; CAutoRefPtr<IRenderTarget> pRT; GETRENDERFACTORY->CreateRenderTarget(&pRT,0,0); BeforePaintEx(pRT); m_curFont=(IFont*)pRT->GetCurrentObject(OT_FONT); return 0; }
HBITMAP CDuiHeaderCtrl::CreateDragImage( int iItem ) { if(iItem<0 || iItem>=m_arrItems.GetCount()) return NULL; CRect rcClient; GetClient(rcClient); CRect rcItem(0,0,m_arrItems[iItem].cx,rcClient.Height()); CDCHandle dc=GetDuiDC(NULL,OLEDC_NODRAW); CMemDC memdc(dc,rcItem); CDCHandle hmemdc=memdc; BeforePaintEx(hmemdc); DrawItem(hmemdc,rcItem,m_arrItems.GetData()+iItem); HBITMAP hItemBmp=memdc.SelectBitmap(NULL); ReleaseDuiDC(dc); return hItemBmp; }
void SScrollText::UpdateScrollInfo(CSize size) { CAutoRefPtr<IRenderTarget> pRT; GETRENDERFACTORY->CreateRenderTarget(&pRT,0,0); BeforePaintEx(pRT); SIZE sz; pRT->MeasureText(m_strText,m_strText.GetLength(),&sz); if(sz.cx - size.cx>0) { m_nScrollWidth = sz.cx; if (m_nRollType==1) { m_nOffset=-size.cx; } OnShowWindow(IsVisible(TRUE), 0); } else { m_nOffset = 0; m_nScrollWidth = 0; } }