COleControl::OnGetDisplayString 是 MFC 中 COleControl 类的一个公共方法,用于获取控件的显示字符串。这个方法在 ActiveX 控件需要在属性网格中显示时被调用。

以下是该方法的基本用法和一些关键信息:
BOOL COleControl::OnGetDisplayString(DISPID dispid, CString& str) const;

  •  dispid: 表示属性的 DISPATCH ID。

  •  str: 用于存储显示字符串的 CString 对象。


在实现 OnGetDisplayString 方法时,你需要根据 dispid 的值来确定是哪个属性需要显示。然后,你可以设置相应的字符串到 str 中,这个字符串将在属性网格中显示。

这个方法通常与属性的 COleDispatchDriver 方法一起使用,以确保在属性网格中正确地显示属性的值。你可能需要在 ActiveX 控件的类中重写这个方法,以提供适当的显示字符串。

以下是一个简单的示例:
BOOL MyControl::OnGetDisplayString(DISPID dispid, CString& str) const
{
    // 根据不同的属性 ID 设置相应的显示字符串
    if (dispid == DISPID_MY_PROPERTY)
    {
        str = _T("This is the display string for MyProperty.");
        return TRUE;
    }

    // 如果不是你关心的属性,调用基类实现
    return COleControl::OnGetDisplayString(dispid, str);
}

这只是一个基本示例,实际上你可能需要更复杂的逻辑,具体取决于你的控件的属性和需求。


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