"mido1971" <mido1971@discussions.microsoft.com> wrote in message
news:10A0D9EB-726A-4FB2-B35B-4693F94C9875@microsoft.com...
Hi,
how can i change the font in CLIstCtrl i need to change size and set to
bold
with condition
i use this code in my app.
void CMyClass::OnNMCustomdrawMyList(NMHDR *pNMHDR, LRESULT *pResult)
{
NMLVCUSTOMDRAW* pCD = (NMLVCUSTOMDRAW*)pNMHDR;
DWORD_PTR row = pCD->nmcd.dwItemSpec;
if(row < 0 || row > m_List.GetItemCount() - 1)
{
if(pCD->nmcd.dwDrawStage == CDDS_PREPAINT)
{
*pResult = CDRF_NOTIFYSUBITEMDRAW;
}
else
{
*pResult = CDRF_DODEFAULT;
}
return;
}
switch(pCD->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
*pResult = CDRF_NOTIFYSUBITEMDRAW; break;
case CDDS_ITEMPREPAINT:
*pResult = CDRF_NOTIFYSUBITEMDRAW;
break;
case CDDS_ITEMPREPAINT|CDDS_SUBITEM:
{
if(st1)//true
{ for(st1 condition )
{
if(pCD->nmcd.dwItemSpec ==i[i])
{
pCD->clrText = RGB(0,0,94);
*pResult = CDRF_NEWFONT;
}
}
}
if(sc2)
{
for(sc2 condition)
{
if(pCD->nmcd.dwItemSpec == i[i] ) {
pCD->clrText = RGB(133,133,133); *pResult = CDRF_NEWFONT;
}
}
}
else
{
*pResult = CDRF_DODEFAULT;
}
break;
}
default:
*pResult = CDRF_DODEFAULT;
}
}
i need to add to this 2 condtion font size how can i do it
thanks for help
Here's my code:
void CCustomDrawDlg::OnNMCustomdrawListCustom(NMHDR *pNMHDR, LRESULT
*pResult)
{
LPNMLVCUSTOMDRAW pNMCD = reinterpret_cast<LPNMLVCUSTOMDRAW>(pNMHDR);
if ( pNMCD->nmcd.dwDrawStage == CDDS_PREPAINT )
*pResult = CDRF_NOTIFYITEMDRAW; // request CDDS_ITEMPREPAINT
else if ( pNMCD->nmcd.dwDrawStage == CDDS_ITEMPREPAINT )
{
::SelectObject (pNMCD->nmcd.hdc, (HFONT) m_BoldFont); //
m_BoldFont is a CFont object, see below
*pResult = CDRF_NEWFONT;
}
else
*pResult = 0;
}
And the code to create m_BoldFont, a CFont object:
LOGFONT lf;
GetObject ( GetStockObject(DEFAULT_GUI_FONT), sizeof(LOGFONT), &lf);
lf.lfWeight = FW_BOLD;
m_BoldFont.CreateFontIndirect(&lf);
-- David