HBRUSH CMyImage::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor == CTLCOLOR_STATIC);
{ CFont font, *Oldfont; font.CreateFont(14, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE, 0, 0, 0, 0, 0, 0, _T(\"굴림\")); Oldfont = (CFont*) pDC->SelectObject(&font);
hbr = (HBRUSH)::GetStockObject(HOLLOW_BRUSH); pDC->SetBkMode(TRANSPARENT); } return hbr;
}
BOOL CMyImage::OnEraseBkgnd(CDC* pDC) { CClientDC dc(this);
m_Image->Draw(dc.m_hDC, 0, 0, m_Image->GetWidth(), m_Image->GetHeight());
CDC MemDC; CBitmap Bmp, *pOldBmp;
MemDC.CreateCompatibleDC(&dc); Bmp.CreateCompatibleBitmap(&dc, m_Image2->GetWidth(), m_Image2->GetHeight());
pOldBmp = (CBitmap*)MemDC.SelectObject(&Bmp);
m_Image2->Draw(MemDC, 0, 0, m_Image2->GetWidth(), m_Image2->GetHeight()); MemDC.SelectObject(&pOldBmp);
dc.BitBlt(100,100,m_Image2->GetWidth(), m_Image2->GetHeight(), &MemDC, 0, 0, SRCCOPY);
return CDialog::OnEraseBkgnd(pDC);
}
============================================================================================================
일단 여기까지는 배경이미지위에 작은 이미지 삽입하고 또 그위에 Static배경투명하게하면서 문자열 출력하는겁니다.. 제가 해야될게...static, check box, radio button, button을 모두 이미지위에 보이도록..(단 배경이미지가보이게...) 이미지위에 출력하는겁니다...
그래서 일단...리소스에서 현재되어있는 static과 함께 체크,라디오,버튼을 삽입하고 실행했더니... 잘 나왔던 static도 안나오고 버튼만 딸랑 하나 나오네요...
버튼을 지우니깐...그 위에있던 라디오버튼 하나딸랑 나오고..,<--버튼배경이..투명하지않게...
일단 저 위에 소스로 static만은 이미지위에 투명하게 출력하는건 알겠는데.. 다른 컨트롤들도 다 포함해서 이미지위에 다 보이도록 출력하는 방법을 잘 모르겠어여...
도와주셨으면 좋겠습니다..ㅠ.ㅠ |
너도 도배좀 쳐하지마
데브피아에는 가봤어?
ㅇㅇ
내생각에는 WM_CTLCOLOR보다는 인터넷 검색해서.. 괜찮은 버튼소스 찾아서 붙이는게 나을듯.. ButtonST같은거..