Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35556
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 142
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-28 20:06
文章分类

全部博文(14)

文章存档

2016年(8)

2015年(7)

我的朋友

分类: C/C++

2015-11-12 20:46:59

     在此,以按钮控件为例,学习一下控件上文本的设置,主要是几个函数的运用。
      CButton类是继承自CWind类的,CWnd类是其基类,而基类中的非私有成员都是可以被继承的。也就是说,CWnd类的成员函数也是可以使用的。通过查看CWnd类的成员函数,可以找到GetDlgItemText、SetDlgItemText、GetWindowText、SetWindowText这四个函数是可以进行文本的设置或获取的。而CWnd类是所有窗口类的基类,因此,这四个函数可以应用于所有的窗口类,比如控件(控件也是窗口)、从CWnd类派生的窗口类。
      (1)CWnd* GetDlgItem ( int nID) const; 返回窗口中指定参数ID的子元素的句柄,可以通过返回的句柄对窗口内的子元素进行操作。 后面的const是C++中的一个语法规则,表示这个成员函数不能修改成员变量的值。
      (2)BOOL SetWindowText (HWND hwnd,LPCTSTR lpString);  该函数改变指定窗口的标题栏的文本内容(如果窗口有标题栏)。如果指定窗口是一个控件,则改变控件的文本内容。
          如:((CButton*)GetDlgItem(IDOK))->SetWindowText(_T("写入文件"));   先获取控件的窗口对象的指针,然后转换成控件对象的类型,再调用这个函数操作控件的文本。
      (3)BOOL SetDlgltemText (HWND hDlg, int nlDDlgltem, LPCTSTR IpString);  该函数设置对话框中ID为nlDDlgltem的控件的文本和标题。
          如:SetDlgItemTextW(IDC_START,_T("开始"));
        按钮控件上文字,点击改变代码如下,首先定义一个bool变量,初始为ture。
          点击(此处)折叠或打开

  1. oid CMy1111Dlg::OnBnClickedStart()
  2. {
  3.     // TODO: 在此添加控件通知处理程序代码
  4.     if (start==true)
  5.     {
  6.         SetTimer(1,10,NULL);
  7.         m_plot.SetRate(10);
  8.         m_plot.Start();
  9.         start=false;
  10.      // SetDlgItemTextW(IDC_START,_T("停止"));
  11.         GetDlgItem(IDC_START)->SetWindowTextW(_T("停止"));
  12.     }
  13.     else
  14.     {
  15.         KillTimer(1);
  16.         m_plot.Stop();
  17.         m_plot.Invalidate();
  18.         start=true;
  19.         SetDlgItemTextW(IDC_START,_T("开始"));
  20.     }
  21. }



   


   
阅读(894) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~