// draws formatted text in the specified rectangle.
CuDrawText textTest;
...
CuRect rt;
GetClientRect(hWnd, &rt);
textTest.SetRect(&rt);
...
textTest.SetText(TEXT("Hi") );
...
CuPaintDC dc(hWnd);
textTest.OnDraw(dc);
// CuDrawText.h
class CuDrawText
{
CuRect m_rt;
wstring m_strText;
UINT m_uFormat;
public:
CuDrawText(void);
~CuDrawText(void);
void SetRect( int xLeft, int yTop, int xRight, int yBottom);
void SetRect( RECT *rt );
void SetText(LPCTSTR lpszString);
void SetFormat(UINT uFormat);
int OnDraw(HDC hdc);
};
// CuDrawText.cpp
CuDrawText::CuDrawText(void)
:m_uFormat(DT_LEFT)
{
}
CuDrawText::~CuDrawText(void)
{
}
void CuDrawText::SetRect( int xLeft, int yTop, int xRight, int yBottom)
{
m_rt.SetRect(xLeft, yTop, xRight, yBottom);
}
void CuDrawText::SetRect( RECT *rt )
{
m_rt = *rt;
}
void CuDrawText::SetText(LPCTSTR lpszString)
{
m_strText = lpszString;
}
void CuDrawText::SetFormat(UINT uFormat)
{
m_uFormat = uFormat;
}
int CuDrawText::OnDraw(HDC hdc)
{
return ::DrawText(hdc, m_strText.c_str(), m_strText.size(), &m_rt, m_uFormat);
}
2009年12月29日 星期二
CuDrawText - draws formatted text in the specified rectangle.
訂閱:
張貼留言 (Atom)
問我為什麼不直接繼承CuRect讓CuDrawText能支援較多的CuRect的功能,你說CuRect跟CuDrawText為什麼要是繼承關係. 兩種完全不同功能的東西, 一點虛擬的點都沒有, 何來繼承可言!
回覆刪除