如何获取鼠标在控件中位置.MFC和API都行.111111111111

如何获取鼠标在控件中位置.MFC和API都行.111111111111,第1张

1: CPoint pt;

2: GetCursorPos(&pt); //得到位置

>

拆分窗口,那肯定有个拆分控件,比如分割条

你取得这个控件的Rect,然后取得外面大窗口的区域,然后就可以计算。

取得分割条的Rect1,再取得大窗口的Rect2,那么右边的子区域的 left等于rect1right+1

右边子区域的right等于rect2right

我相信是可以通过计算得到的

UpdateData();//这一句必须要

如果你的编辑框没有关联变量

UNIT result = GetDlgItemInt(IDC_EDIT);//IDC_EDIT为你的编辑框ID。

如果你的编辑框关联了变量m_ndata

UNIT result = m_ndata;

有什么不懂的欢迎提问。

首先在你自己的类中定义一个要使用这个控件的变量,比如:DlgFaceRecg

dlgFaceRecg;

//

CFROCXCtrl

消息处理程序

int

CFROCXCtrl::OnCreate(LPCREATESTRUCT

lpCreateStruct)

{

if

(COleControl::OnCreate(lpCreateStruct)

==

-1)

return

-1;

dlgFaceRecgCreate(IDD_DIALOG1,this);//这里可以用你的控件的IDC_XX

return

0;

}

本来希望的效果是在对话框上设置两个picture控件,分别显示两幅图像,然后将两幅图像中的相似部分利用一条直线连接起来。要实现这样的效果需要知道相似位置在这两幅图中的坐标以及这两个控件在对话框上的坐标,然后通过加减运算就可以得到图像上的相似区域在对话框的坐标,直接将这两个坐标用直线连接就可以了。

为此,如何获得控件在对话框上的坐标是关键问题。编写了如下的测试小程序,目的是将两个picture控件中的点用直线连接起来,比较直观的是picture控件的四个角,所以程序中是将控件的拐角连接起来。首先在对话框上并排放置两个同样大小的picture控件,将他们的标识分别设成IDC_LEFT和IDC_RIGHT,然后添加两个编辑框用于显示picture控件的大小,给这两个编辑框添加相应的数据成员m_row和m_colume。添加一个按钮用于连接picture控件中的点,为这个按钮添加成员函数OnMatch() 。

void CControlDlg::OnMatch(){// TODO: Add your control notification handler code here

CRect rectL,rectR;

GetDlgItem(IDC_LEFT)->GetWindowRect(&rectL);//获取控件相对于屏幕的位置

ScreenToClient(rectL);//转化为对话框上的相对位置

GetDlgItem(IDC_RIGHT)->GetWindowRect(&rectR);//获取控件相对于屏幕的位置

ScreenToClient(rectR);//转化为对话框上的相对位置

m_row=rectLbottom-rectLtop;

m_colume=rectLright-rectLleft;

UpdateData(FALSE);

CClientDC dc(this);

dcMoveTo(rectLleft,rectLtop);

dcLineTo(rectRright,rectRbottom);

dcMoveTo(rectLright,rectLtop);

dcLineTo(rectRleft,rectRbottom);

dcMoveTo(rectLleft+m_colume/2,rectLtop+m_row/2);//连接两个控件中心点

CRect rect;

CWnd pWnd = GetDlgItem(IDC_picture);//IDC_picture为picture控件ID

pWnd->GetClientRect(&rc);//rc为控件的大小。

int x=rectHeight();

int y=rectWidth()。

首先要知道这个控件的ID,通过ID来访问控件

要想获得控件上的文本,可以用GetDlgItemText这个函数

函数原型是int GetDlgItemText( int nID, CString& rString ) const;

第一个参数是控件的ID,第二个参数是用来接收控件文本的字符串(CString类型的)

以上就是关于如何获取鼠标在控件中位置.MFC和API都行.111111111111全部的内容,包括:如何获取鼠标在控件中位置.MFC和API都行.111111111111、MFC 多个对话框获取对话框上的控件信息、MFC 如何获取拆分窗口的区域,我是想获取这个区域然后用对话框填充它,就是用getclientrect类似的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9568607.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存