우선 에디트 박스 배경색으로 사용될 브러쉬를 on-InitDialog 에서 만들어 주시고요...
class CEditBoxDlg : public CDialog
{
....
CBrush m_EditBrush; // 에디트 박스 배경 색 브러쉬 선언..
};
BOOL CEditBoxDlg::OnInitDialog()
{
CDialog::OnInitDialog();
....
m_EditBrush.CreateSolidBrush( RGB(149,149,204)); // 요렇게..
....
}
그리고 나서 WM_CTLCOLOR 메세지 핸들러(OnCtlColor)를 만드시고
HBRUSH CEditBoxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// 원하는 에디트박스윈도인지 확인 한다..
if( nCtlColor == CTLCOLOR_EDIT && GetDlgItem(IDC_ORIGIN)->GetSafeHwnd() == pWnd->GetSafeHwnd() )
{
pDC->SetTextColor( RGB(255,0,0) );// 텍스트 색 변경
pDC->SetBkMode(TRANSPARENT);// 텍스트 투명 모드 변경
return (HBRUSH)m_EditBrush; // 배경색으로 만든 브러쉬 반환
}
return hbr;
}
이렇게 해주세요..
WM_CTLCOLOR의 자세한 사용법은 MSDN을 참고 하시고요..
폰트 색은 해당 에디트 컨트롤에서 미리 만들어 놓은 폰트로 SetFont() 호출 해주시면 됩니다.
도움이 되었기를...
class CEditBoxDlg : public CDialog
{
....
CBrush m_EditBrush; // 에디트 박스 배경 색 브러쉬 선언..
};
BOOL CEditBoxDlg::OnInitDialog()
{
CDialog::OnInitDialog();
....
m_EditBrush.CreateSolidBrush( RGB(149,149,204)); // 요렇게..
....
}
그리고 나서 WM_CTLCOLOR 메세지 핸들러(OnCtlColor)를 만드시고
HBRUSH CEditBoxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// 원하는 에디트박스윈도인지 확인 한다..
if( nCtlColor == CTLCOLOR_EDIT && GetDlgItem(IDC_ORIGIN)->GetSafeHwnd() == pWnd->GetSafeHwnd() )
{
pDC->SetTextColor( RGB(255,0,0) );// 텍스트 색 변경
pDC->SetBkMode(TRANSPARENT);// 텍스트 투명 모드 변경
return (HBRUSH)m_EditBrush; // 배경색으로 만든 브러쉬 반환
}
return hbr;
}
이렇게 해주세요..
WM_CTLCOLOR의 자세한 사용법은 MSDN을 참고 하시고요..
폰트 색은 해당 에디트 컨트롤에서 미리 만들어 놓은 폰트로 SetFont() 호출 해주시면 됩니다.
도움이 되었기를...
'개발 > VB' 카테고리의 다른 글
비주얼 베이직에서 사용하는 모든 함수 (0) | 2007.07.19 |
---|---|
[VB] 트레이 아이콘 만들기 (0) | 2007.01.04 |
다이얼로그에서 객체에 툴팁달기 (0) | 2006.07.03 |
int형을 CString 형으로 바꿀려면 (0) | 2006.06.19 |
창을 늘릴때 안에 있는 컨트롤들도 비율 맞춰서 커지게 할려면 (0) | 2006.06.15 |