VC++简单的问题。
f(0==++m_nIndex)//{m_menu.CreatePopupMenu();GetParent()->GetMenu()->AppendMenu(MF_POP...
f (0 == ++m_nIndex)//
{
m_menu.CreatePopupMenu();
GetParent()->GetMenu()->AppendMenu(MF_POPUP, (UINT)m_menu.m_hMenu, L"PhoneBook");
GetParent()->DrawMenuBar();
}
CString strTemp = m_strLine;
int nOccurCount = 0;
int nSpacePos = strTemp.Find(' ');
while (nSpacePos != -1)
{
nOccurCount++;
strTemp = strTemp.Mid(strTemp.Find(' ')+1);
nSpacePos = strTemp.Find(' ');
}
for (int n=0; n<=nOccurCount; n++)
{
AfxExtractSubString(strTemp, (LPCTSTR)m_strLine, n, ' ');
m_strArray.Add(strTemp);
m_menu.AppendMenu(MF_STRING, 3000 + n, strTemp);
}
m_strLine.Empty();
Invalidate();
}
else
{
m_strLine += (char)nChar;
dc.TextOut(0, 0, m_strLine);
}
CView::OnChar(nChar, nRepCnt, nFlags);
}
这段代码 看不太懂 请解析一下 谢谢了高手 展开
{
m_menu.CreatePopupMenu();
GetParent()->GetMenu()->AppendMenu(MF_POPUP, (UINT)m_menu.m_hMenu, L"PhoneBook");
GetParent()->DrawMenuBar();
}
CString strTemp = m_strLine;
int nOccurCount = 0;
int nSpacePos = strTemp.Find(' ');
while (nSpacePos != -1)
{
nOccurCount++;
strTemp = strTemp.Mid(strTemp.Find(' ')+1);
nSpacePos = strTemp.Find(' ');
}
for (int n=0; n<=nOccurCount; n++)
{
AfxExtractSubString(strTemp, (LPCTSTR)m_strLine, n, ' ');
m_strArray.Add(strTemp);
m_menu.AppendMenu(MF_STRING, 3000 + n, strTemp);
}
m_strLine.Empty();
Invalidate();
}
else
{
m_strLine += (char)nChar;
dc.TextOut(0, 0, m_strLine);
}
CView::OnChar(nChar, nRepCnt, nFlags);
}
这段代码 看不太懂 请解析一下 谢谢了高手 展开
1个回答
展开全部
f (0 == ++m_nIndex) //这句貌似没写全,应该是if(o==、、)是不是字母o呢?
{
m_menu.CreatePopupMenu(); //创建菜单
GetParent()->GetMenu()->AppendMenu(MF_POPUP, (UINT)m_menu.m_hMenu, L"PhoneBook");
//在菜单末尾追加菜单“PhoneBook”
GetParent()->DrawMenuBar(); //重绘菜单,即刷新一下才显示更改后的菜单
}
CString strTemp = m_strLine; //定义字符串strTemp,把m_strLine的值付给strTemp
int nOccurCount = 0; //定义整形变量nOccurCount,初值是0.
int nSpacePos = strTemp.Find(' ');
//定义整形nSpacePos,把strTemp变量中第一个空格的索引值付给nSpacePos。(find返回与其内相匹配的第一个字符的从零开始的索引,如果没有找到子字符串或字符则返回-1)
while (nSpacePos != -1)//当(nSpacePos不为-1时执行该循环
{
nOccurCount++; //自加一 ,记录空格的个数
strTemp = strTemp.Mid(strTemp.Find(' ')+1);
//把第strTemp.Find(' ')+1个字符开始重新复制给strTemp(如strTemp=“er tyu”; strTemp=strTemp.Mid(strTemp.Find(' ')+1);执行后strTemp为“tyu”)
nSpacePos = strTemp.Find(' '); //下一个新的空格索引值
}
for (int n=0; n<=nOccurCount; n++)
{
AfxExtractSubString(strTemp, (LPCTSTR)m_strLine, n, ' ');
//把m_strLine的内容按' '为标志分割,同时把第n个分割出来的字符串赋给strTemp
m_strArray.Add(strTemp); //没有声明m_strArray,它是你要输入的值么?
m_menu.AppendMenu(MF_STRING, 3000 + n, strTemp); //追加内容为strTemp的菜单
}
m_strLine.Empty(); //即m_strLine="";表示空字符串
Invalidate(); //使整个窗口客户区无效,即重绘窗口,也就是使m_strLine显示的为空
}
else //这句前的IF在哪?如果是首句的话也缺个“{”
{
m_strLine += (char)nChar;
dc.TextOut(0, 0, m_strLine); //字符变为字符串输出
}
CView::OnChar(nChar, nRepCnt, nFlags); //视图类显示
}
我会点C语言,C++不太懂,你可以边百度边看边分析,看着好就给个好评吧,加个分吧,呵呵
{
m_menu.CreatePopupMenu(); //创建菜单
GetParent()->GetMenu()->AppendMenu(MF_POPUP, (UINT)m_menu.m_hMenu, L"PhoneBook");
//在菜单末尾追加菜单“PhoneBook”
GetParent()->DrawMenuBar(); //重绘菜单,即刷新一下才显示更改后的菜单
}
CString strTemp = m_strLine; //定义字符串strTemp,把m_strLine的值付给strTemp
int nOccurCount = 0; //定义整形变量nOccurCount,初值是0.
int nSpacePos = strTemp.Find(' ');
//定义整形nSpacePos,把strTemp变量中第一个空格的索引值付给nSpacePos。(find返回与其内相匹配的第一个字符的从零开始的索引,如果没有找到子字符串或字符则返回-1)
while (nSpacePos != -1)//当(nSpacePos不为-1时执行该循环
{
nOccurCount++; //自加一 ,记录空格的个数
strTemp = strTemp.Mid(strTemp.Find(' ')+1);
//把第strTemp.Find(' ')+1个字符开始重新复制给strTemp(如strTemp=“er tyu”; strTemp=strTemp.Mid(strTemp.Find(' ')+1);执行后strTemp为“tyu”)
nSpacePos = strTemp.Find(' '); //下一个新的空格索引值
}
for (int n=0; n<=nOccurCount; n++)
{
AfxExtractSubString(strTemp, (LPCTSTR)m_strLine, n, ' ');
//把m_strLine的内容按' '为标志分割,同时把第n个分割出来的字符串赋给strTemp
m_strArray.Add(strTemp); //没有声明m_strArray,它是你要输入的值么?
m_menu.AppendMenu(MF_STRING, 3000 + n, strTemp); //追加内容为strTemp的菜单
}
m_strLine.Empty(); //即m_strLine="";表示空字符串
Invalidate(); //使整个窗口客户区无效,即重绘窗口,也就是使m_strLine显示的为空
}
else //这句前的IF在哪?如果是首句的话也缺个“{”
{
m_strLine += (char)nChar;
dc.TextOut(0, 0, m_strLine); //字符变为字符串输出
}
CView::OnChar(nChar, nRepCnt, nFlags); //视图类显示
}
我会点C语言,C++不太懂,你可以边百度边看边分析,看着好就给个好评吧,加个分吧,呵呵
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询