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
目前,我查询版权信息并使用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