改善直线绘图:追逐起点

mazhichao84 2010-07-18 02:57:30
程序代码:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool Drawing;
TPoint Origin;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
Drawing=true;
Canvas->MoveTo(X,Y);
Origin=Piont(X,Y);

}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{ Canvas->MoveTo(Origin.x,Origin.y);
Canvas->LineTo(X,Y);
Drawing=false;

}
//---------------------------------------------------------------------------
错误提示:
[C++ Error] Unit1.cpp(25): E2268 Call to undefined function 'Piont'
[C++ Error] Unit1.cpp(25): E2034 Cannot convert 'int' to 'TPoint'
...全文
111 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mazhichao84 2010-07-18
  • 打赏
  • 举报
回复

不好意思,
没注意
谢谢啦
周药师 2010-07-18
  • 打赏
  • 举报
回复
Origin=Piont(X,Y);
//改成这样:
Origin = TPoint(X,Y);
注意红色部分 你写反了
周药师 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mazhichao84 的回复:]
还是行啊
一样的错误提醒
[/Quote]

你按照我说的改了吗?
下面测试正常的:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool Drawing;
TPoint Origin;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------


void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
Drawing=true;
Canvas->MoveTo(X,Y);
Origin=TPoint(X,Y); //修改成这样
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
Canvas->MoveTo(Origin.x,Origin.y);
Canvas->LineTo(X,Y);
Drawing=false;
}
//---------------------------------------------------------------------------

YeBinYe 2010-07-18
  • 打赏
  • 举报
回复
应该是:
Origin.X=X;
Origin.Y=Y;
YeBinYe 2010-07-18
  • 打赏
  • 举报
回复
Origin->X=X;
Origin->Y=Y;
mazhichao84 2010-07-18
  • 打赏
  • 举报
回复
还是行啊
一样的错误提醒
周药师 2010-07-18
  • 打赏
  • 举报
回复

//Origin=Piont(X,Y);
//改成这样:
Origin = TPoint(X,Y);

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧