C++ 在运行时更改对话框中的静态文本
我创建了一个对话框并将其链接到菜单项。在这种情况下,菜单项为帮助->统计信息。一切正常。因此,当我运行程序时,单击“帮助”菜单,然后单击“统计”,会弹出一个对话框 对话框中还有一个静态文本框。如何在运行时更改此静态文本框的文本 注:虽然我有一个对话框正在运行,但我没有这个对话框的句柄。如果您的任何解决方案涉及了解对话框的句柄,请告诉我如何检索它。谢谢 编辑:C++ 在运行时更改对话框中的静态文本,c++,mfc,C++,Mfc,我创建了一个对话框并将其链接到菜单项。在这种情况下,菜单项为帮助->统计信息。一切正常。因此,当我运行程序时,单击“帮助”菜单,然后单击“统计”,会弹出一个对话框 对话框中还有一个静态文本框。如何在运行时更改此静态文本框的文本 注:虽然我有一个对话框正在运行,但我没有这个对话框的句柄。如果您的任何解决方案涉及了解对话框的句柄,请告诉我如何检索它。谢谢 编辑: 在类向导中,为标签创建CString成员变量。注意:默认情况下,标签没有自定义id,因此您必须给它一个类似IDC\u MY\u标签的id
mu strMyLabel.SetWindowText(“blah”)代码>
UpdateData(FALSE)
编辑:如果不想创建成员变量,可以
**更正-从内存键入
// Find the label
// if called from within CStatusDlg class
CWnd *label = GetDlgItem(IDC_MY_LABEL);
label->SetWindowText("blah");
// If called from elsewhere
CStatusDlg dlg..... // create the dialog
CWnd *label = dlg.GetDlgItem(IDC_MY_LABEL);
label->SetWindowText("blah");
如果您提供了用于对话框的代码,可能会有所帮助。刚才添加了负责创建对话框的代码。thx用于回复。您将如何通过编程实现这一点(即没有类向导)?@user3126297更新了我的答案。
// Find the label
// if called from within CStatusDlg class
CWnd *label = GetDlgItem(IDC_MY_LABEL);
label->SetWindowText("blah");
// If called from elsewhere
CStatusDlg dlg..... // create the dialog
CWnd *label = dlg.GetDlgItem(IDC_MY_LABEL);
label->SetWindowText("blah");