新建單個文檔的MFC應用程序,類視圖——View項的屬性——消息,WM_PAINT,創建OnPaint()函數
void CMFCApplication27View::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: 在此處添加消息處理程序代碼 CRect rect; this->GetClientRect(&rect);//獲取客戶區大小 CFont font;//用來設置大小、樣式,顏色用dc.SetTextColor設置 font.CreatePointFont(200, TEXT("Arial"));//20號字 dc.SelectObject(&font); //-------------------- 矩形框偏移,陰影效果 -------------------------------------// dc.SetBkMode(TRANSPARENT);//透明,否則新的遮住舊的 rect.OffsetRect(20, 20);//右、下偏移20 dc.SetTextColor(RGB(192, 192, 192));//灰色 dc.DrawText(TEXT("DrawText畫文本"), &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);//方式一,客戶區、單行、上下左右居中 rect.OffsetRect(-20, -20);//左、上偏移20 dc.SetTextColor(RGB(0, 0, 0));//黑色 dc.DrawText(TEXT("DrawText畫文本"), &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); //---------------------------------------------------------------------// dc.TextOut(10, 10, TEXT("TextOut畫文本"));//方式二,起始點(10,10) //-------------------- 畫字方式三 -------------------------------------// LOGFONT lf; //邏輯字 ::ZeroMemory(&lf, sizeof(lf));//清內存,::可以調用API函數 lf.lfHeight = 120;//12號字 lf.lfWeight = FW_BOLD;//加粗 lf.lfItalic = TRUE;//斜體 ::lstrcpy(lf.lfFaceName, TEXT("Times New Roman")); CFont font2; font2.CreatePointFontIndirect(&lf); dc.SelectObject(&font2); dc.TextOut(10, 50, TEXT("邏輯字")); }