编辑框派生类如何输出信息?
时间: 2024-03-10 18:45:05 浏览: 20
要在编辑框派生类中输出信息,可以使用以下方法:
1. 在编辑框派生类的头文件中添加一个指向父窗口的指针:
```c++
class CMyEditCtrl : public CEdit
{
public:
CWnd* m_pParentWnd; // 指向父窗口的指针
// 其他成员函数和变量
};
```
2. 在编辑框派生类的构造函数中初始化指向父窗口的指针:
```c++
CMyEditCtrl::CMyEditCtrl()
{
m_pParentWnd = NULL;
}
```
3. 在父窗口中创建编辑框控件时,将指针赋值给编辑框派生类的指针:
```c++
m_editCtrl.Create(WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL,
CRect(10, 10, 300, 200), this, IDC_MY_EDIT_CTRL);
((CMyEditCtrl*)&m_editCtrl)->m_pParentWnd = this;
```
4. 在编辑框派生类中,可以使用以下代码向编辑框输出信息:
```c++
void CMyEditCtrl::Print(const CString& str)
{
// 获取编辑框的文本长度
int nLength = GetWindowTextLength();
// 设置插入点为文本末尾
SetSel(nLength, nLength);
// 插入文本
ReplaceSel(str);
}
```
在这个例子中,我们在编辑框派生类中添加了一个函数 `Print`,用于输出信息。在函数中,我们首先获取编辑框的文本长度,然后设置插入点为文本末尾,最后插入文本。你可以在需要输出信息的地方调用这个函数,在编辑框中显示信息。需要注意的是,如果你的编辑框控件是只读的,那么你需要先将只读属性设置为 `FALSE`。