CString str; GetDlgItem(IDC_N1)->GetWindowText(str);
这是孙鑫视频里按static text,按键使改变为汉语的例子 第七课,我的问题如下。
其中的GetDlgItem(IDC_N1)是一个指向 IDC_N1的 指针 然后通过 “->”来调用 成员函数“GetWindowText(str)”,结果是 将控件“IDC_N1”的文本 保存在变量str?我的理解对吗? 指针调用函数有什么意义呢?在传递什么?
没钱,自己顶一下吧。
this->GetDlgItem(IDC_N1)->GetWindowText(str);
其中的this是IDC_N1父窗口的指针
GetDlgItem(IDC_N1)->GetWindowText(str);
前面省略了一个东西: this->,所以完整的写法是:
GetDlgItem(IDC_N1)->GetWindowText(str);
其实你不妨这样来理解:
GetDlgItem(IDC_N1) 取得一个指向一个对象实例的指针,在这里就是(IDC_N1, windows下的物件的标志)所标志的那个控件;
而这个控件(CWnd),有他的接口函数: GetWindowText(str); 用来取得控件上的文本;
在c++里,就是使用->来访问接口函数,同时传递一个str引用来接收这个文本。
调用完这个函数,str里面就包含控件上的文本。