急vc2008中为何以下程序只循环一次?解决办法

急!vc2008中为何以下程序只循环一次?
for(i=0;i<5;i++)
{  
color=RGB(c,c,c);
SetTextColor(hdc,color);
  font=CreateFont
(
h,
0,
0,
0,
400,
0,
0,
0,
  *lpszFont[i],
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH,
L"字体"
);

SelectObject(hdc,font);
TextOut(hdc,x,y,a,wcslen(a));
DeleteObject(SelectObject(hdc,font));

c=c+64;
h=h+8;
y=y+10;

if(i=4)
  {
SetBkColor(hdc,RGB(0,255,0));
c=c-1;
}
}


------解决方案--------------------
if(i=4)//这里应该是 ==,而不是=
{
 SetBkColor(hdc,RGB(0,255,0));
 c=c-1;
 }
 }

------解决方案--------------------
探讨

对了再问一下 我在最后SetBkColor(hdc,RGB(0,255,0));为何显示是白色的背景,黑色的字