主题:[讨论]为什么这个static不能移到这个if括号内
CString str;
if(GetDlgItemText((IDC_BUTTON1),str),str=="收缩>>")
{
SetDlgItemText(IDC_BUTTON1,"扩展>>");}
else
{
SetDlgItemText(IDC_BUTTON1,"收缩>>");
}
[color=FF00FF] static CRect rectLarge;
static CRect recta;[/color]
if(rectLarge.IsRectNull())
{
[color=FF0000] static CRect rectSmall; //这句可以放进IF这里
//static CRect rectLarge;把这两句移到这里会编译错误为什么
//static CRect recta;[/color]
CRect rectSeparator;
GetWindowRect(&rectLarge);
GetWindowRect(&recta);
GetDlgItem(IDC_SEPARATOR)->GetWindowRect(rectSeparator);
recta.left=rectLarge.left;
recta.top=rectLarge.top;
recta.right=rectLarge.right;
recta.bottom=rectSeparator.bottom;
}
if(str=="扩展>>")
{
SetWindowPos(NULL,0,0,recta.Width(),recta.Height(),SWP_NOMOVE|SWP_NOZORDER);
}
else
{
SetWindowPos(NULL,0,0,rectLarge.Width(),rectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER);
}
if(GetDlgItemText((IDC_BUTTON1),str),str=="收缩>>")
{
SetDlgItemText(IDC_BUTTON1,"扩展>>");}
else
{
SetDlgItemText(IDC_BUTTON1,"收缩>>");
}
[color=FF00FF] static CRect rectLarge;
static CRect recta;[/color]
if(rectLarge.IsRectNull())
{
[color=FF0000] static CRect rectSmall; //这句可以放进IF这里
//static CRect rectLarge;把这两句移到这里会编译错误为什么
//static CRect recta;[/color]
CRect rectSeparator;
GetWindowRect(&rectLarge);
GetWindowRect(&recta);
GetDlgItem(IDC_SEPARATOR)->GetWindowRect(rectSeparator);
recta.left=rectLarge.left;
recta.top=rectLarge.top;
recta.right=rectLarge.right;
recta.bottom=rectSeparator.bottom;
}
if(str=="扩展>>")
{
SetWindowPos(NULL,0,0,recta.Width(),recta.Height(),SWP_NOMOVE|SWP_NOZORDER);
}
else
{
SetWindowPos(NULL,0,0,rectLarge.Width(),rectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER);
}