【C++ 学习笔记】 MFC CEdit

时间:2021-12-27 00:06:56

环境:VS2008

-关联变量

方法一:在控件上右键-变量-CEdit类型变量-输入变量名。

方法二:添加代码

头文件中定义变量
CEdit m_edit_fileName;

源文件中变量关联
DDX_Control(pDX, IDC_FILENAME, m_edit_fileName);

-取得文本

取得CEdit中输入文本的函数:

int GetWindowTextA(
LPTSTR lpszStringBuf,
int nMaxCount
) const;
void GetWindowTextA(
CString& rString
) const;

 

-设置文本

设置CEdit中文本的函数:

void SetWindowText(
LPCTSTR lpszString
);

如果要输入一些自定义的文本,需要使用转换符(如果你的项目属性选择的是Unicode便需要转换符,如果是多字节便不需要):

m_edit_fileName.SetWindowTextA(_T("Hello world"));

从当前文本往下接,当然要设置CEdit控件的属性

1. Multiline = true:是CEdit可以自动转行;

2. Wantreturn = true:使CEdit可以使用"\r\n"转行。

下面是自动转行的代码:

m_edit_fileName.ReplaceSel(outputStr);

//ReplaceSel的函数定义:
void ReplaceSel(
LPCTSTR lpszNewText,
BOOL bCanUndo
= FALSE
);

 

- 初始化文本

注意:如果是2008的对话框在初始生成的时候没有了对话框初始化函数,如果你在对话框的构造函数里为文本框进行初始化就会报错。需要先加入对话框的初始化函数。

加入对话框初始化函数步骤:

1. 到类视图下右击你的对话框类,选择属性。

2. 在属性对话框中选择重写项(一个绿色的方块)

3. 重写项中有一项叫做OnInitDialog,点击该项添加即可。

代码添加:

virtual BOOL OnInitDialog();

//初始化对话框
BOOL CDlgPre_LDA::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: 在此添加额外的初始化
m_edit.SetWindowTextA(_T("doc")); //初始化文本(m_edit是关联到CEdit控件的CEdit变量)

return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}