工控编程吧

标题: 上位机MFC如何遍历控件 [打印本页]

作者: qq263946146    时间: 2019-7-27 12:07
标题: 上位机MFC如何遍历控件
一个窗口界面上一般都会有多个控件。如果我们要对每个控件都发送一些通知消息的话,
就要实现控件的遍历。
可以通过两个函数结合的办法 实现。
GetTopWindow获得第一个控件,也就是子窗口指针。
如果获得的指针不为NULL的话,表示正确获得了控件。
就可以通过这个控件指针调用GetNextWindow获得下一个控件指针,直到获得的指针为NULL。
期间就可以通过控件指针发送一些消息,实现自己想要的功能。
例如下面代码简单的遍历,实现控件文本的设置。
  1. //获得第一个子窗口
  2.         CWnd* pChildWnd = GetTopWindow();
  3.         while (pChildWnd != NULL)
  4.         {
  5.                 //获得控件ID
  6.                 int nID = pChildWnd->GetDlgCtrlID();
  7.                 CString strText = _T("");
  8.                 strText.Format(_T("%d"), nID);
  9.                 pChildWnd->SetWindowText(strText);

  10.                 //获得下一个子窗口
  11.                 pChildWnd = pChildWnd->GetNextWindow();
  12.         }
复制代码
[MFC408]1[/MFC408]
[weixinlianxi]1[/weixinlianxi]





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