텍스트가있는 읽기 전용 편집 컨트롤이 있습니다. 기본 회색 배경을 흰색으로 전환하고 싶지만 운이 제한적이었습니다. 처음으로 이동, 나는 대화의 초기화 중에 다음과 같은 코드를 실행했다 :읽기 전용 색 변경 CEdit 컨트롤 아티팩트 및 텍스트 강조 표시 문제
CEdit *m_ctrlEditOne = (CEdit*) GetDlgItem(IDC_EDIT1);
CDC *m_ctrlEEditWee = m_ctrlEditOne->GetDC();
m_ctrlEEditWee->SetBkColor(RGB(255,0,0));
Invalidate(true);
것은 내가 노력 또 다른 해결책은이었다
아래의 스크린 샷에서HBRUSH CTestingDlg::OnCtlColor(CDC* pDC, CWnd *pWnd, UINT nCtlColor)
{
if (pWnd->GetStyle() & ES_READONLY)
//if(pDC->GetRuntimeClass == & ES_READONLY)
{
switch (nCtlColor)
{
case CTLCOLOR_STATIC:
pDC->SetBkColor(RGB(255,255,255));
return (HBRUSH)GetStockObject(NULL_BRUSH);
default:
//return NULL;
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
}
//return NULL;
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
, 당신은 텍스트가 삽입 된 것을 볼 수 있습니다 사실 (이것이 일어날 필요가있는 것)이 끝나고 파란색으로 강조된 것처럼 보입니다. - 강조하지 않은 텍스트로 보이게 만드는 방법을 어디서부터 시작해야할지 모릅니다. 그것을 클릭하면 정상적으로 나타납니다. 각 편집 컨트롤의 왼쪽 하단 모서리에 거기에 나타나서는 안되는 사각형을 볼 수 있습니다. 또한 큰 상자에 나타나는 콤보 상자 드롭 다운 선택과 같은 모양의 일부 아티팩트를 볼 수 있습니다.
나는 유물을 제거하는 방법에 대한 포인터를 감사하고 삽입 된 텍스트 강조 문제를 해결하는 것입니다.