'TEXT COLOR'에 해당되는 글 1건

  1. 2010.07.23 WinApi 그래픽 [TEXT COLOR]
posted by nsakura 2010. 7. 23. 00:22

폰트 업,젝트외에 출력되는 문자열에 영향을 주는 여러 가지 함수가 있다. 오늘은

COLORREF SetTextColor(HDC hdc,COLORREF crColor);  //텍스트의 색을 지정
COLORREF SetBkColor(HDC hdc,COLORREF crColor);    //텍스트의 배경을 지정
int SetBkMode(HDC hdc, int iBkMode);                        //배경색상을 사용할 방법을 설정.

보통 Set 함수가 있으면 Get함수가 있는법.

GetTextColor
GetBkColor

함수도 있다. 기능은 set의 반대이다.


iBkMode 인자의 값은

 OPAQUE  배경의 색상에 따라 뒷쪽의 그림이 사라진다.
 TRANSPARENT  투명한 배경을 사용한다 그래서 문자를 출력한 후에도 배경은 투명이다

LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam){
 HDC hdc;
 PAINTSTRUCT ps;
 HFONT hFont,saveFont;
 HBRUSH hBrush,saveBrush;
 
 TCHAR *str=TEXT("GFP입니다.");

 static LOGFONT lFont;

 switch(iMessage){
 case WM_CREATE:
  lFont.lfHeight=50;
  lFont.lfWidth=0;
  lFont.lfEscapement=0;
  lFont.lfOrientation=0;
  lFont.lfWeight=0;
  lFont.lfItalic=0;
  lFont.lfUnderline=0;
  lFont.lfStrikeOut=0;
  lFont.lfCharSet=HANGEUL_CHARSET;
  lFont.lfOutPrecision=0;
  lFont.lfClipPrecision=0;
  lFont.lfQuality=0;
  lFont.lfPitchAndFamily=VARIABLE_PITCH|FF_ROMAN;
  lstrcpy(lFont.lfFaceName,TEXT("궁서"));
 case WM_PAINT:
  hdc=BeginPaint(hWnd,&ps);
  hBrush=CreateHatchBrush(HS_CROSS,RGB(0,0,255));
  saveBrush=(HBRUSH)SelectObject(hdc,hBrush);

  Rectangle(hdc,10,10,500,200);
  SelectObject(hdc,saveBrush);

  hFont=CreateFontIndirect(&lFont);
  saveFont=(HFONT)SelectObject(hdc,hFont);

  SetTextColor(hdc,RGB(255,0,0));
  SetBkColor(hdc,RGB(255,255,0));

  TextOut(hdc,20,20,str,lstrlen(str));

  SetBkMode(hdc,TRANSPARENT);

  TextOut(hdc,120,120,str,lstrlen(str));

  DeleteObject(SelectObject(hdc,saveFont));
  DeleteObject(SelectObject(hdc,saveBrush));
  EndPaint(hWnd,&ps);
  return 0;
 case WM_DESTROY:
  PostQuitMessage(0);
  return 0;
 }
 
 return (DefWindowProc(hWnd,iMessage,wParam,lParam));

}

결과는.. 다음과 같다.



'Computer > Win API' 카테고리의 다른 글

소켓 통신 관련해서 .....  (0) 2013.12.13
WinApi 컨트롤  (0) 2010.07.23
WinApi 그래픽[폰트]  (0) 2010.07.22
WinApi 그래픽 [비트맵 bitmap]  (0) 2010.07.22
WinApi RopMode2 [확장]  (0) 2010.07.22