首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

左键点击获FORM得坐标值解决办法

2012-03-05 
左键点击获FORM得坐标值刚学C++builder好多不懂的希望大家能指教一下。分不多,见谅。首先,我要达到的目标是

左键点击获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的点击事件中加入以下代码就可以获取鼠标在当前窗体上的坐标:

C/C++ code
void __fastcall TForm1::FormClick(TObject *Sender){    TPoint pt = ScreenToClient(Mouse->CursorPos);    Caption = String().sprintf(TEXT("当前坐标: %d, %d"), pt.x, pt.y);} 

热点排行