336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Static Control 배경을 투명화 시키는 방법을 알아봅시다.
윈도우에 WM_CTLCOLOR 메세지 처리함수(OnCtlColor)를 만들고 아래와 같이 입력하면 됩니다.
윈도우에 WM_CTLCOLOR 메세지 처리함수(OnCtlColor)를 만들고 아래와 같이 입력하면 됩니다.
1.
pDC->SetBkMode( TRANSPARENT );
2.
return
(
HBRUSH
) ::GetStockObject( NULL_BRUSH );
위와 같이 했을때, 배경 투명화가 안되는 경우는 리소스 뷰의 컨트롤 속성에서
Transparent 속성을 True로 해주면 투명화가 적용되는 걸 볼 수 있습니다.
위에 코드에서 원하는 컨트롤만 배경 투명화를 하고 싶을때는, 아래와 같이 해주면 됩니다.
01.
if
( pWnd->GetSafeHwnd() == GetDlgItem(컨트롤 ID)->m_hWnd )
02.
{
03.
pDC->SetBkMode( TRANSPARENT );
04.
return
(
HBRUSH
) ::GetStockObject( NULL_BRUSH );
05.
}
06.
07.
else
if
( pWnd->GetSafeHwnd() == GetDlgItem(컨트롤 ID)->m_hWnd )
08.
{
09.
}
Static Control을 투명화 시키고, SetWindowText로 글씨를 출력하면 글자의 겹침 현상이 일어나는데
이럴때는 SetWindowText로 글씨를 출력하기 전에 다음의 코드를 입력하여, Control의 영역을
무효화 시킨다음에 하시면 글씨를 출력하시면 됩니다.
1.
CRect Rect;
2.
GetDlgItem(컨트롤 ID)->GetWindowRect(&Rect);
3.
ScreenToClient(&Rect);
4.
InvalidateRect(Rect);
5.
6.
SetWindowText( 컨트롤 ID, 출력할 텍스트 );
'# IT, Computer Science > MFC, API' 카테고리의 다른 글
MFC 사용자 정의 메시지를 이용한 통신 (0) | 2011.04.10 |
---|---|
[MFC] 인터넷 HTML 소스 다운로드 (0) | 2011.02.13 |
[MFC] 폴더 선택 다이얼로그 띄우기 (0) | 2011.01.12 |
MFC 트레이 아이콘 등록 및 윈도우 감추기 (0) | 2010.09.07 |
[MFC] OpenUrl을 이용하여 http소스 읽기 (0) | 2010.09.07 |