这通常使用应用程序的“配置文件”存储来完成,该存储空间以前位于 .INI 文件中,但现在位于注册表中,位于应用程序的 Software 项下。
在 MFC 应用程序中InitInstance()
,通常会自动生成对SetRegistryKey
. 这需要一个标识字符串并设置应用程序的配置文件存储。因此,如果您的应用缺少此功能,则需要添加类似SetRegistryKey(_T("MyCompanyGroupOrAppName"));
.
然后是用于存储和检索信息的 API。对于编辑控件文本,您可能希望将其保存为CWinApp::WriteProfileString
. 因此,在您的处理程序中,您会将编辑控件中的文本放入 aCString
中,然后将其保存为
AfxGetApp()->WriteProfileString(_T("SectionName"), _T("MacAddress"), MyMacAddressString);
要稍后取回字符串,请使用以下内容:
CString MyMacBeforeTheCrash = pApp->GetProfileString(_T("SectionName"), _T("MacAddress"));
以下是文档的一些链接:
似乎您可能不确定如何从编辑控件访问文本。有几种方法可以做到这一点,但这取决于您的对话框是如何设置的。
如果您的编辑控件有一个CString
与之关联的变量,使用 DDX(对话框数据交换),那么您调用对话框类的成员函数:UpdatData(TRUE);
然后,其CString
变量将包含当前文本。要保存值,请将新文本值分配给变量,然后调用UpdateData(FALSE);
.
如果您有权访问编辑控件(CEdit
对象)的类变量,则可以将编辑控件的文本复制到CString
带有MyEditControl.GetWindowText(MyString);
. 要将字符串的文本复制到编辑控件中,请执行以下操作MyEditControl.SetWindowText(MyString);
:
如果您的编辑控件没有任何类型的变量,您可能希望通过进入对话框的资源编辑器来添加一个,右键单击编辑控件,然后从菜单中选择“添加变量”。您将可以选择是否要添加控制对象 (a CEdit
) 或类似 a 的东西CString
。
您还可以使用非 MFC Win32 API 访问编辑控件的文本——这涉及首先以某种方式获取控件的窗口句柄,然后使用::SendMessage
向控件发送WM_GETTEXT
和WM_SETTEXT
消息。
祝你好运。