我有一个消息窗口来显示错误消息。在该消息中,一些文本应该是粗体和下划线。我正在使用静态文本。我使用以下代码。
m_font.CreateFont(10,0,0,0,FW_BOLD,0,0,0,0,0,0,0,0,"Arial");
GetDlgfItem(Id of the lable)->SendMessage(WM_SETFONT,WPARAM(HFONT)),0);
使用此我可以将其设为粗体。但我无法改变文本的大胆性。我怎样才能在标签上加下划线。
提前致谢。
答案 0 :(得分:3)
试试这个
CWnd * pwnd = GetDlgItem(LABEL_ID);
CFont * pfont = pwnd->GetFont();
LOGFONT lf; pfont->GetLogFont(&lf);
lf.lfItalic = TRUE; //To Make Text Italic
lf.lfWeight = 500; //To Make BOLD, Use FW_SEMIBOLD,FW_BOLD,FW_EXTRABOLD,FW_BLACK
lf.lfUnderline = TRUE; //Underline Text
pfont->CreateFontIndirect(&lf);
pwnd->SetFont(pfont);
或者您可以使用
CFont *m_font;
m_font->CreateFont(10,0,0,0,FW_BOLD,0 , 1, 0, 0, 0, 0, 0, 0,_T("Arial"));
^^
//(for underline)
GetDlgItem(IDC_MOUSEPOS)->SetFont(m_font);