在 MFC(Microsoft Foundation Classes)中,CStatic 类是用于显示静态文本的控件类。对于 CStatic 类,它的构造函数通常不是公共的,而是受保护的。在 MFC 中,一般不直接实例化 CStatic 类,而是通过资源编辑器在对话框或窗体上创建静态文本控件,并在运行时通过相应的控件 ID 来访问该控件。

下面是一个简单的示例,展示了如何在对话框类中使用 CStatic 控件:
// 假设你有一个 CMyDialog 类派生自 CDialog

class CMyDialog : public CDialog
{
public:
    CMyDialog(UINT nIDTemplate, CWnd* pParent = nullptr) : CDialog(nIDTemplate, pParent)
    {
    }

    // ...

    // 在OnInitDialog中进行控件的初始化
    virtual BOOL OnInitDialog()
    {
        CDialog::OnInitDialog();

        // 假设 IDC_STATIC_TEXT 是你在资源编辑器中给静态文本控件分配的ID
        CStatic* pStaticText = (CStatic*)GetDlgItem(IDC_STATIC_TEXT);

        // 这里可以设置静态文本的文本内容等属性
        pStaticText->SetWindowText(_T("Hello, World!"));

        return TRUE;
    }

    // ...
};

在这个示例中,OnInitDialog 函数中通过 GetDlgItem 获取了静态文本控件的指针,然后可以通过该指针设置文本内容等属性。请注意,CStatic 的构造函数并未在代码中显式调用,因为通常你不需要手动创建 CStatic 对象。


转载请注明出处:http://www.zyzy.cn/article/detail/22465/MFC/CStatic