左键点击获FORM得坐标值
刚学C++builder 好多不懂的
希望大家能指教一下。分不多,见谅。
首先,我要达到的目标是左键双击Form1上某点,得到(x,y),将此坐标放入如下函数。
#include <iostream>
using namespace std;
int main()
{
int a=x;
int b=y;
cout<<a<<" "<<b<<endl;
return 0;
}
下面这个模块得到的是屏幕的坐标,问:
1、如何改成得到的是Form1的坐标。
2、此坐标如何“传”到上面的主函数。(这是重点的重点,呵呵)
3、默认的坐标是坐上位坐标(0,0),如何使坐标原点移到左下,使左下为(0,0)。
void __fastcall TForm1::FormClick(TObject *Sender)
{
POINT MousePos;
GetCursorPos(&MousePos);
ShowMessage(MousePos.x);
ShowMessage(MousePos.y);
}
[解决办法]
1. 在Form的点击事件中加入以下代码就可以获取鼠标在当前窗体上的坐标:
void __fastcall TForm1::FormClick(TObject *Sender){ TPoint pt = ScreenToClient(Mouse->CursorPos); Caption = String().sprintf(TEXT("当前坐标: %d, %d"), pt.x, pt.y);}