本文整理汇总了C++中LPD3DXFONT::GetDC方法的典型用法代码示例。如果您正苦于以下问题:C++ LPD3DXFONT::GetDC方法的具体用法?C++ LPD3DXFONT::GetDC怎么用?C++ LPD3DXFONT::GetDC使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LPD3DXFONT
的用法示例。
在下文中一共展示了LPD3DXFONT::GetDC方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetCharacterWidth
float CGraphics::GetCharacterWidth(char c, float fScale)
{
// Get the font
LPD3DXFONT pFont = GetFont(0);
// Is the font valid?
if(pFont)
{
HDC dc = pFont->GetDC();
SIZE size;
GetTextExtentPoint32(dc, &c, 1, &size);
return ((float)size.cx * fScale);
}
return 0.0f;
}
示例2: DrawText
VOID CDXCtrlTreeview::DrawText()
{
TEXTMETRIC tm;
LPD3DXFONT pFont;
RECT rect, irect;
PLISTITEM pItem;
D3DCOLOR Color;
DWORD dwIndex;
DWORD dwIndexTextSize;
SIZE size;
char szBuff[8];
if(m_pManager)
{
GetRect(&rect);
pFont = m_pManager->GetFixedWidthFont();
pFont->GetTextMetrics(&tm);
GetTextExtentPoint32(pFont->GetDC(), "999", 3, &size);
if(m_bShowIndex)
dwIndexTextSize = size.cx;
else
dwIndexTextSize = 0;
pItem = m_pList;
for(dwIndex = 0; dwIndex < m_dwTopIndex; dwIndex++)
pItem = pItem->link;
rect.left += (5 * m_dwFrameWidth / 8) + tm.tmHeight;
rect.top += (5 * m_dwFrameWidth / 8);
rect.bottom -= (5 * m_dwFrameWidth / 8);
rect.right -= ((5 * m_dwFrameWidth / 8) + 16 + dwIndexTextSize);
for(; rect.top <= rect.bottom - tm.tmHeight && pItem; dwIndex++)
{
if(pItem->bGroup || pItem->bVisible)
{
if(dwIndex == m_dwSelectedIndex)
{
Color = m_SelectedColor;
}
else
{
if(pItem->bGroup)
Color = m_GroupColor;
else
Color = m_ItemColor;
}
pFont->DrawTextA(m_pManager->GetFontSprite(), pItem->szText, -1, &rect, DT_TOP | DT_LEFT, Color);
if(m_bShowIndex && pItem->bGroup == FALSE)
{
irect = rect;
irect.left = irect.right;
irect.right = irect.left + dwIndexTextSize;
pFont->DrawTextA(m_pManager->GetFontSprite(), itoa(dwIndex, szBuff, 10), -1, &irect, DT_TOP | DT_RIGHT, Color);
}
rect.top += tm.tmHeight;
}
pItem = pItem->link;
}
}
}