티스토리 뷰
위와 같이, 리스트에서 특정 단어가 표시된 라인의 색상을 변경하고 싶을 때
아래의 코드를 이용하여 리스트의 글자 색상과 배경 색상을 지정할 수 있다!
1. 헤더 파일(.h)에 추가
afx_msg void OnCustomdrawList(NMHDR* pNMHDR, LRESULT* pResult);
2. MessageMap에 추가
BEGIN_MESSAGE_MAP(CTestDlg, CDialogEx) ON_NOTIFY(NM_CUSTOMDRAW, IDC_TEST_LIST, OnCustomdrawList) // 2번째 인자 : List Control ID, 3번째 인자 : 실행할 함수 END_MESSAGE_MAP()
3. 실행 함수 정의
void CTestDlg::OnCustomdrawList(NMHDR* pNMHDR, LRESULT* pResult)
{
CString strType;
BOOL bErrorFlag = FALSE;
BOOL bWarnningFlag = FALSE;
NMLVCUSTOMDRAW* pLVCD = (NMLVCUSTOMDRAW*)pNMHDR;
strType = m_ListCtrl.GetItemText(pLVCD->nmcd.dwItemSpec, 0);
if ((strType.Find(_T("ERROR")) != -1))
{
bErrorFlag = TRUE;
}
if ((strType.Find(_T("WARNNING")) != -1))
{
bWarnningFlag = TRUE;
}
*pResult = 0;
if (CDDS_PREPAINT == pLVCD->nmcd.dwDrawStage)
*pResult = CDRF_NOTIFYITEMDRAW;
else if (CDDS_ITEMPREPAINT == pLVCD->nmcd.dwDrawStage)
{
if (bErrorFlag)
{
pLVCD->clrText = RGB(255, 0, 0); // 글자 색 변경
//pLVCD->clrTextBk = RGB(0, 0, 0); // 배경 색 변경
}
else if (bWarnningFlag)
{
pLVCD->clrText = RGB(0, 0, 255);
//pLVCD->clrTextBk = RGB(237, 255, 255);
}
else
{
pLVCD->clrText = RGB(0, 0, 0);
}
*pResult = CDRF_DODEFAULT;
}
}
'MFC' 카테고리의 다른 글
[MFC] Radio Button (0) | 2018.08.10 |
---|---|
[MFC] 실행 파일의 경로 얻기 - GetModuleFileName() (1) | 2018.06.12 |
[MFC] Splash Window 띄우는 방법 (5) | 2018.04.06 |
[MFC] CTime을 이용한 시스템 시간 알아오기 (0) | 2018.02.17 |
[MFC] 사용자 정의 메세지 사용법 (5) | 2017.03.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 본식예복
- 광명무역센터컨벤션 #본식스냅 #메인스냅 #서브스냅 #촬영후기 #1인작가 #대표작가 #하루그라피
- 종로브리달메이
- 브리달메이
- MFC
- 가성비예복
- 종로결혼반지추천
- 브리달메이웨딩밴드
- 냉면
- 광명 무역센터 블랑논
- 브리달메이결혼반지
- C++
- 무한리필
- 종로프로포즈링추천
- 본식맞춤예복
- 백준알고리즘
- 부평
- 가성비맞춤정장
- 가산디지털단지 맛집
- 종로다이아반지추천
- 광명 본식 dvd
- 광명무역센터컨벤션 dvd
- Visual Studio
- 라레토추천인
- 부평맛집
- 라레토페이백
- 브리달메이다이아
- 그래픽카드후기
- 광명무역센터컨벤션
- 롯데리아
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함