MFC控件坐标位置

GetDlgItem(控件ID)->GetWindowRect(&rect);//获取控件基于全频的位置

ScreenToClient(rect);//转换为对话框上的相对位置

返回的是控件的矩形,可以使用矩形四条边的位置,左上顶点坐标就是(left,top),以此类推


  
 BOOL   GetCursorPos( LPPOINT   lpPoint ); //获取鼠标的X,Y坐标 
MFC(Microsoft Foundation Classes)中,获取picture控件的鼠标点击坐标位置可以通过处理控件的鼠标消息来实现。具体来说,你可以通过在控件的消息映射中处理WM_LBUTTONDOWN消息来获取鼠标左键点击的坐标位置。以下是一个简单的示例代码: ```cpp // 假设你有一个名为CPictureCtrl的类继承自CStatic(用于显示图片的控件) class CPictureCtrl : public CStatic { // ... 其他代码 ... // 消息映射宏 BEGIN_MESSAGE_MAP(CPictureCtrl, CStatic) // ... 其他消息映射 ... ON_WM_LBUTTONDOWN() END_MESSAGE_MAP() // WM_LBUTTONDOWN消息处理函数 afx_msg void OnLButtonDown(UINT nFlags, CPoint point); }; // 实现消息处理函数 void CPictureCtrl::OnLButtonDown(UINT nFlags, CPoint point) { // 在这里处理鼠标点击事件 // point参数包含了鼠标点击时相对于控件左上角的坐标 // 如果需要屏幕坐标,可以使用ClientToScreen函数 ScreenToClient(&point); // 使用获取到的坐标进行相应的处理 // ... } // ... 其他代码 ... ``` 在这个示例中,`CPictureCtrl` 类继承自 `CStatic` 类,并且通过 `BEGIN_MESSAGE_MAP` 和 `END_MESSAGE_MAP` 宏定义了消息映射。`ON_WM_LBUTTONDOWN()` 宏告诉MFC框架当控件接收到WM_LBUTTONDOWN消息时,应该调用 `OnLButtonDown` 函数。`OnLButtonDown` 函数接收两个参数,其中 `point` 包含了鼠标点击时的位置坐标。如果需要将控件内部坐标转换为屏幕坐标,可以使用 `ScreenToClient` 函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值