VS2010 MFC TextOut垂直显示内容的显示、清除和修改

Adelle ·
更新时间:2024-11-10
· 714 次阅读

    学习MFC,用到垂直显示内容,在网上查找了一些方法,做一下总结。

    在View类的头文件中增加CString m_strLeft;

    在View类中增加WM_PAINT消息的函数OnPaint(),设置输出字体,设置颜色

CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用 CFormView::OnPaint() CFont *font = GetFont(); LOGFONT lf; font->GetLogFont(&lf); lf.lfHeight = 20; //字体大小 lf.lfWeight = 700; //400为标准字体,700为粗体 lf.lfEscapement = 900; //垂直显示 lf.lfOrientation = 600; lf.lfQuality = PROOF_QUALITY; lf.lfUnderline = false; CString str = "Arial Bold"; strcpy(lf.lfFaceName, "Arial Bold"); CFont SlantFont; SlantFont.CreateFontIndirect(&lf); CFont *fontOld = dc.SelectObject(&SlantFont); dc.SetTextColor(RGB(255, 0, 0)); dc.SetTextAlign(TA_BASELINE); dc.TextOut(100, 300, m_strLeft); dc.SelectObject(fontOld);

    增加两个按钮,设置显示的内容并刷新:

m_strLeft = "aaaa"; //显示内容 CRect rc(20, 200, 100 + 30, 300 + 100); InvalidateRect(&rc); UpdateWindow(); //刷新 m_strLeft = ""; //值为""时清除,否则修改 CRect rc(20, 200, 100 + 30, 300 + 100); InvalidateRect(&rc); UpdateWindow();


作者:xzzhao



vs2010 mfc

需要 登录 后方可回复, 如果你还没有账号请 注册新账号