使用MFC绘制垂直文本
我正在尝试使用MFC GDI编写一些垂直文本,当我尝试将其旋转一个角度(比如30度)时,写入的图像会以某种方式被剪掉。有人能告诉我可能有什么问题吗。CreateFont定义和要编写的文本如下所示:使用MFC绘制垂直文本,mfc,drawing,gdi,Mfc,Drawing,Gdi,我正在尝试使用MFC GDI编写一些垂直文本,当我尝试将其旋转一个角度(比如30度)时,写入的图像会以某种方式被剪掉。有人能告诉我可能有什么问题吗。CreateFont定义和要编写的文本如下所示: m_SmallFontVert.CreateFont(14,0,300,300,FW_BOLD, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
m_SmallFontVert.CreateFont(14,0,300,300,FW_BOLD, FALSE, FALSE, 0, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN,
"Arial");
我的文字是:
CRect HeightRect(450,850,800,1000);
HeightRect.MoveToXY(450,500);
CString HeightText = "HEIGHT";
pDC->DrawText(HeightText,HeightRect,DT_LEFT);
它给出了输出:
有没有关于我可能错在哪里的建议?在使用DrawText函数时,请确保也将DT_NOCLIP指定为格式参数,以便它不会剪裁输出 参考: 大概是这样的:
pDC->DrawText(HeightText,HeightRect,DT_LEFT | DT_NOCLIP);
希望这有帮助 使用DrawText函数时,请确保也将DT_NOCLIP指定为格式参数,以便它不会剪裁输出 参考: 大概是这样的:
pDC->DrawText(HeightText,HeightRect,DT_LEFT | DT_NOCLIP);
希望这有帮助 我使用这组代码来获得文本的垂直显示
CFont verFont;
verFont.CreateFont(20,10,900,0,FALSE,FALSE,FALSE,0,ARABIC_CHARSET,OUT_TT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_ROMAN,_T("Tahoma"))
CFont *OFont =(CFont *)pMemDC->SelectObject(&verFont);
pMemDC->TextOut(70,100,"VERTICAL");
然后我得到文本的垂直显示。
这可能对您有所帮助。我使用这组代码来垂直显示我的文本
CFont verFont;
verFont.CreateFont(20,10,900,0,FALSE,FALSE,FALSE,0,ARABIC_CHARSET,OUT_TT_PRECIS,
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_ROMAN,_T("Tahoma"))
CFont *OFont =(CFont *)pMemDC->SelectObject(&verFont);
pMemDC->TextOut(70,100,"VERTICAL");
然后我得到文本的垂直显示。
也许这对你有帮助