16,471
社区成员
发帖
与我相关
我的任务
分享
...
for(int jj=0;jj<m_nNumOfPages;jj++)
{// 0->3
GetItem(jj, &tci);
GetItemRect(jj,&rcItem);
dc.SetBkMode(TRANSPARENT);
if(tci.dwState & TCIS_BUTTONPRESSED)
{
dc.SetTextColor(RGB(255,0,0));
}
else
{
rcItem.DeflateRect(1,2);
dc.SetTextColor(RGB(0,0,0));
}
dc.FillSolidRect(&rcItem,RGB(220,220,220));
//
dc.TextOut(rcItem.left,rcItem.top, tci.pszText, lstrlen(tci.pszText));
}
...
void CTabSheet::OnPaint()
{
CTabCtrl::OnPaint();// let tab draw the frame!
// redraw the text !
CClientDC dc(this);
char szTabText[40];
memset(szTabText, '\0', sizeof(szTabText));
//
TC_ITEM tci;
memset(&tci,0,sizeof(tci));
tci.mask = TCIF_TEXT | TCIF_STATE;
tci.dwStateMask = TCIS_BUTTONPRESSED;
tci.pszText = szTabText;
tci.cchTextMax = sizeof(szTabText)-1;
// get item
CRect rcItem;
for(int jj=0;jj<m_nNumOfPages;jj++)
{// 0->3
GetItem(jj, &tci);
GetItemRect(jj,&rcItem);
afxDump << rcItem.Height() << "= Hei Item \n";
afxDump << rcItem.Width() << "= Wid Item \n";
rcItem.DeflateRect(1,2);
dc.FillSolidRect(&rcItem,RGB(220,220,220));
dc.SetBkMode(TRANSPARENT);
if(tci.dwState & TCIS_BUTTONPRESSED) dc.SetTextColor(RGB(255,0,0));
else dc.SetTextColor(RGB(0,0,0));
//
dc.TextOut(rcItem.left,rcItem.top, tci.pszText, lstrlen(tci.pszText));
}
}