工控编程吧

标题: 上位机MFC如何获得指定点的窗口 [打印本页]

作者: qq263946146    时间: 2019-7-18 14:15
标题: 上位机MFC如何获得指定点的窗口
鼠标移动到窗口上时,可以通过鼠标当前的点坐标来获取窗口的句柄与判断窗口的类型。可以通过下面代码实现
  1. void CDemoDlg::OnMouseMove(UINT nFlags, CPoint point)
  2. {
  3.         //获得指定点的窗口
  4.         CWnd* pWnd = WindowFromPoint(point);

  5.         if (pWnd != NULL)
  6.         {
  7.                 if (IsChild(pWnd))
  8.                 {
  9.                         CString strText = _T("");
  10.                         pWnd->GetWindowText(strText);
  11.                         SetWindowText(strText);
  12.                 }
  13.         }

  14.         CDialog::OnMouseMove(nFlags, point);
  15. }
复制代码
在鼠标移动事件处理函数中,通过CWnd* pWnd = WindowFromPoint(point);
可以获取鼠标指针对应的窗口指针。
如果获取的窗口指针不是空侧为有效的窗口指针。
进而可以通过IsChild(pWnd))判断此窗口是不是子窗口,比如编辑框什么的。
如果是子窗口,则获取子窗口文本,并设置程序标题栏文本。
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]
[note]2[/note]





欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4