MFC:如何显示版权符号?

MFC: how to display copyright symbol?

目前,我查询版权信息并使用DrawText显示它。但版权符号显示为“(c)”不太理想。有没有办法将它显示为围绕 c 的圆圈?我四处搜索但尚未找到任何工作代码。作为参考,下面是我现在使用的。

VerQueryValue(ver_info, TEXT("\StringFileInfo\01234567\LegalCopyright"), &lplpBuffer, &sz);
strncpy(buf, (char *)lplpBuffer, sz);
m_copyright = (CString)buf;
pDC->DrawText(m_copyright, rc, DT_LEFT | DT_SINGLELINE);

它会输出"Copyright (c) ...",我想用它来替换“(c)”。如果可能,该解决方案应适用于 Visual Studio 2008。

以下代码只显示uA9,不显示版权符号

void CMyView::OnDraw(CDC* pDC)
{
    CMyDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;

    // TODO: add draw code for native data here
    CRect rect(50, 50, 200, 200);
    DrawTextW(pDC->GetSafeHdc(), L"\uA9", -1, rect, DT_LEFT | DT_SINGLELINE);
}

我建议你可以尝试使用“\xa9”这个字符来显示版权标志,如:

DrawTextW(pDC->GetSafeHdc(), L"\xa9", -1, rect, DT_LEFT | DT_SINGLELINE);

注意:请参考这里的utf8字符table:https://www.utf8-chartable.de/unicode-utf8-table.pl?start=128&number=128&utf8=string-literal&unicodeinhtml=hex