1. 변수 선언

BOOL m_bTransparent; // 텍스트의 배경을 투명하게 할 것인지
COLORREF m_colorText; // 텍스트 전경색
LOGFONT m_logFont;  // 텍스트를 출력할 논리적 글꼴

cf> 배경색을 지정하려면 변수 추가 : COLORREF m_bkText; // 텍스트 전경색


2. 생성자(보통 뷰 클래스)

 m_bTransparent = TRUE;

 m_colorText = RGB(255, 255, 0);
 m_logFont.lfHeight  = 35;
 m_logFont.lfWidth  = 0;
 m_logFont.lfEscapement = 0;
 m_logFont.lfOrientation = 0;
 m_logFont.lfWeight  = FW_NORMAL;
 m_logFont.lfItalic  = FALSE;
 m_logFont.lfUnderline = FALSE;
 m_logFont.lfStrikeOut = FALSE;
 m_logFont.lfCharSet  = DEFAULT_CHARSET;
 m_logFont.lfOutPrecision = OUT_CHARACTER_PRECIS;
 m_logFont.lfClipPrecision = CLIP_CHARACTER_PRECIS;
 m_logFont.lfQuality  = DEFAULT_QUALITY;
 m_logFont.lfPitchAndFamily = DEFAULT_PITCH|FF_DONTCARE;
 strcpy(m_logFont.lfFaceName, _T("Arial Black"));

cf) 배경색 지정하려면 m_bkText = RGB(255, 255, 0);


3. OnDraw or OnPaint

 // LOGFONT로부터 글꼴을 생성
 CFont newFont, *pOldFont;
 newFont.CreateFontIndirect(&m_logFont);
 // 생성된 글꼴을 DC에 선택
 pOldFont = (CFont *)pDC->SelectObject(&newFont);
 // 텍스트의 전경색과 배경색 설정
 pDC->SetTextColor(m_colorText);
 // 배경 모드를 설정
 if(m_bTransparent) pDC->SetBkMode(TRANSPARENT);
 else pDC->SetBkMode(OPAQUE);
 // 텍스트 출력
 pDC->TextOut( 20, 7, "사용자 로그인");

Posted by Tommy™
,