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);
}
这段代码 看不太懂 请解析一下 谢谢了高手
展开
 我来答
百度网友06ec9ad
2011-02-24 · 超过12用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:24.3万
展开全部
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++不太懂,你可以边百度边看边分析,看着好就给个好评吧,加个分吧,呵呵
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式