책보면서 다이어리 만들고있는데
void CDiaryView::OnDraw(CDC* pDC)
{
CString strWeek[7] = {\"일\" , \"월\" , \"화\" , \"수\" , \"목\" , \"금\" , \"토\"};
CBrush *pOldB, brush(RGB(200,240,255));
pOldB = pDC->SelectObject(&brush);
pDC->SetBkMode(TRANSPARENT);
pDC->RoundRect(10,10,255,290,10,10);
int i,j;
CString str;
for(i=0; i<7; i++)
{
pDC->RoundRect(weekRect[i],CPoint(5,5));
if(i==0)
pDC->SetTextColor(RGB(255,0,0));
else if(i==6)
pDC->SetTextColor(RGB(0,0,255));
else
pDC->SetTextColor(RGB(0,0,0));
pDC->DrawText(strWeek[i],weekRect[i],
DT_SINGLELINE|DT_CENTER|DT_VCENTER);
}
pDC->SetTextColor(RGB(0,0,0));
CFont *pOldF, font;
font.CreateFontA(25,0,0,0,700,0,0,0,1,0,0,0,0,\"궁서체\");
pOldF= pDC->SelectObject(&font);
str.Format(\"%4d년 %2d월\", year,month);
pDC->TextOutA(55,30,str);
pDC->SelectObject(pOldF);
}
이코드까지 집어느면 사진같이 나오는데
그다음에 아래 날짜칸 만들려고
int total = year-1 + ((year-1)/4 - (year-1)/100 + (year-1)/400);
if(year%4 == 0 && year%100 != 0 ||year%400 == 0)
lastDay[1] = 29;
else
lastDay[1] = 28;
for(i=0; i<month-1; i++)
total += lastDay[i];
total++;
week = total %7;
CBrush brushBox(RGB(220,220,220));
pDC->SelectObject(&brushBox);
for(i=0 ; i<6; i++)
{
for(j=0; i<7; j++)
{
pDC->RoundRect(panRect[i][j], CPoint(5,5));
}
}
이것을 입력하면
달력모양이 안뜹니다 저 창을 막 흔들어되면 살짝 보일때도있는데 도대체 왜그런가요?
무효 영역이라고 찾아봐