vc++ 程序 书上的程序似乎通不过编译

来源:百度知道 编辑:UC知道 时间:2024/05/24 05:54:36
题目:编写单文档应用程序,启动后在用户区显示一个方形,鼠标左键单击客户区后,该方形会变为圆形,如果再单击则会又变会方形。

程序代码如下:

//在视图类声明中定义成员变量
private:
BOOL m_bKey;
CRect m_rectRec;

//在视图类的构造函数中对成员变量进行初始化
CRec_CrlView::CRec_CrlView()
:m_rectRec(100,100,400,400);
{
//TODO:add construction code here
m_bKey = FALSE;
}

//在视图类鼠标左键按下消息中添加如下代码
void CRect2ellipseView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(m_bKey)
m_bKey=FALSE;
else
m_bKey=TRUE;
Invalidate(m_rectRec);
CView::OnLButtonDown(nFlags, point);
}

//在视图类的OnDraw函数中添加如下代码
void CRect2ellipseView::OnDraw(CDC* pDC)
{
CRect2ellipseDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if(m_bKey)
pDC->Ellipse(m_rectRec);
else
p

是 InvalidateRect

不是 invalidate

调用invalidate 的话 把参数去掉

你只改了代码 还要在头文件中声明OnLButtonDown吧。。

用MFC写的最好用c++自带选项添加,免得漏写