我创建了一个对话框并将其链接到菜单项。在这种情况下,菜单项是Help -> Statistics。这一切都有效。所以当我运行程序时,点击菜单Help,然后点击Statistics,弹出一个对话框。
我在对话框中还有一个静态文本框。如何在运行时更改此静态文本框的文本?
PS:虽然我有一个对话框正在运行,但我没有对话框的句柄。如果您的任何解决方案涉及知道对话框的句柄,请告诉我如何检索它。谢谢。
编辑:
class CStatisticsDlg : public CDialogEx
{
public:
CStatisticsDlg();
// Dialog Data
enum { IDD = IDD_STATISTICS };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
DECLARE_MESSAGE_MAP()
public:
};
CStatisticsDlg::CStatisticsDlg() : CDialogEx(CStatisticsDlg::IDD)
{
}
void CStatisticsDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CStatisticsDlg, CDialogEx)
END_MESSAGE_MAP()
Run Code Online (Sandbox Code Playgroud)
m_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");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25098 次 |
| 最近记录: |