带格式的Win32资源字符串表

时间:2015-06-02 01:48:30

标签: string mfc resources format

我的mfc项目中有一个.rc文件,如下所示。

STRINGTABLE
BEGIN
    ID_DRAW_ARC             "Draw arc."
    ID_DRAW_BEZIER          "Draw bezier %d count"
END

应用程序在状态栏上显示了字符串表,如下所示

'Draw arc.'
'Draw bezier %d count'

我想改变这样的第二句话

'Draw bezier 50 count'

我怎么能这样? 我应该通过CStatusBar对象手动设置状态栏上的消息吗?

如果您有其他解决方案,请回答我。

1 个答案:

答案 0 :(得分:0)

您可以使用CString::LoadString从资源中获取字符串。然后简单地格式化文本。

CString format;
if (format.LoadString(ID_DRAW_BEZIER))
{
    if (format.Find(L"%d") >= 0)
    {
        CString text;
        text.Format(format, 50);
        m_wndStatusBar.SetPaneText(0, text, 1);
    }
}