LOGFONT m_LogFont;

HFONT m_hFont;

 

void CGame::SetFont( int xSize, int ySize, char* FontStyle )

    ZeroMemory( &m_LogFont, sizeof(LOGFONT) );
 
    m_LogFont.lfWidth = xSize;
    m_LogFont.lfHeight = ySize;
    m_LogFont.lfWeight = FW_NORMAL;
    m_LogFont.lfQuality = DRAFT_QUALITY;
    m_LogFont.lfCharSet = 1;
 
    strcpy( m_LogFont.lfFaceName, FontStyle );

    m_LogFont.lfPitchAndFamily = FF_MODERN;
}

 

void CGame::DrawText( int x, int y, char *str, COLORREF colText, COLORREF colBack, BOOL flag, BOOL bTrans )
{
    HDC hdc;
    HFONT hOldFont;

    m_pDDSBack->GetDC( &hdc );

 

    if( flag )
    {
        m_hFont = CreateFontIndirect( &m_LogFont );
        hOldFont = (HFONT)SelectObject( hdc, m_hFont );
    }

 

    SetTextColor( hdc, colText );
    SetBkColor( hdc, colBack );

 

    if( bTrans ) SetBkMode( hdc, TRANSPARENT );
 
    TextOut( hdc, x, y, str, strlen(str) );

 

    if( flag )
    {
        SelectObject( hdc, hOldFont );
        DeleteObject( m_hFont );
    }

 

    m_pDDSBack->ReleaseDC( hdc );
}

+ Recent posts