初学vc2003,视图如何响应菜单命令?高手请指点!
我c++学的很差,请高手详细指点:
单文档工程,工程名称:pic_1
工程的菜单栏内容如下:
“画线”“帮助”
一、要求实现功能:
点击菜单栏中的“画线”,在文档视图区内画一条线出来。
二、操作步骤:
1、设置菜单项“画线”
2、鼠标右击“画线”,在弹出的菜单中选择“添加事件处理程序".
3、在弹出的“事件处理程序向导”中依次选择:
消息类型:COMMAND
类列表:pic_1View
4、点击“添加编辑”按钮
5、系统自动在pic_1View.cpp中出现
void Cpic_1View::OnFileNew()
{
// TODO: 在此添加命令处理程序代码
}
6、我在第五步中的代码添加以下内容:
void Cpic_1View::OnFileNew(CDC* pDC)
{
CPen NewPen(PS_SOLID,3,RGB(0,100,100));
pDC->LineTo(20,50);
pDC->MoveTo(50,100);
// TODO: 在此添加命令处理程序代码
}
7、编译结果提示有错误,内容如下:
“Cpic_1View”中没有找到重载的成员函数
------------------------------------------
问:
1、错误提示是什么意思?
2、什么地方缺少输入?
3、如何修改才能完成画线的目标?
-------------------------------------------------------------------
------------------------------------------------------------------
我在pic_1view中设置了一个布尔变量m_line_1
奇怪的是
如下面编写的代码,那么程序运行的时候不自动出现线条,但是菜单命令“画线”也没有用了:
// Cpic_1View 绘制
void Cpic_1View::OnDraw(CDC* pDC/*pDC*/)
{
Cpic_1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
//if (!pDoc)
//return;
if (m_line_1)
{ CPen NewPen(PS_SOLID,30,RGB(100,100,100));
pDC->LineTo(20,50);
pDC->MoveTo(50,100);
}
// TODO: 在此处为本机数据添加绘制代码
}
--------------------------------------------
而如果把
......
if (m_line_1)----------------变成if (m_line_1=1)
{ CPen NewPen(PS_SOLID,30,RGB(100,100,100));
pDC->LineTo(20,50);
pDC->MoveTo(50,100);
.....
那么程序自动绘制线条。
我想知道,设置了这个变量,到底有什么作用?
怎么利用这个变量来控制菜单命令?