此段代碼在MFC下顯式一個文檔。
CMfcsView : public CView;
void CMfcsView::OnDraw(CDC* pDC)//在視圖上顯示,CDC設備描述符表
{
CMfcsDoc* pDoc = GetDocument();//調用這個函數獲得與視圖相連接的文檔指針。如果沒有相連接的文檔,返回NULL
ASSERT_VALID(pDoc);//此函數檢測pDoc指針是否返回NULL。
// TODO: add draw code for native data here
//my
CRect rect,rect1,rect2;
GetClientRect(&rect);//計算客戶區的顯示坐標,賦值給rect
CFont font1,*oldfont;
font1.CreatePointFont(160,_T("隸書"));
oldfont=pDC->SelectObject(&font1);//將字體寫入描述符,并將描述符中的以前的字體使oldfont指向
TEXTMETRIC tm;//這個結構體包含了有關物理字體的各種信息,他依賴于當前環境。
pDC->GetTextMetrics((&tm));//自動計算當前設備描述符的字符的寬度和高度等信息
pDC->SetTextColor(RGB(150,163,255));//背景色
pDC->SetBkMode(TRANSPARENT);//是否透明(字體的背景是否覆蓋背景色)
rect1=rect;
rect1.top=20*tm.tmExternalLeading;
rect1.bottom=rect1.top+(tm.tmHeight+20*tm.tmExternalLeading);//將矩形區域顯示在合適位置
CBrush brush,*oldbrush;
brush.CreateSolidBrush(RGB(0,220,220));
oldbrush=pDC->SelectObject(&brush);//設置筆刷
pDC->FillRect(rect1,&brush);//畫刷填充矩形
CString Title;
Title.Format(_T("%10s%12s%10s%10s%10s%10s%10s%10s"),"股票代碼","股票名稱","昨收盤價","開盤價","最高價","最低價","收盤價","成交量");
pDC->DrawText(Title,&rect1,DT_SINGLELINE|DT_CENTER|DT_VCENTER);//顯示Title字符串,在rect1的矩形框內,后邊設置顯式格式。如DT_CENTER設置在矩形框中間顯示
rect2=rect;
rect2.top=3*tm.tmExternalLeading+rect1.bottom;
rect2.bottom=rect2.top+(tm.tmHeight+2*tm.tmExternalLeading);
pDC->FillRect(rect2,oldbrush);//為矩形框設置畫刷,即將話刷的顏色設置為畫刷的顏色。
CString Spp;
Spp.Format(_T("%10s%12s%10s%10s%10s%10s%10s%10s"),"24415","中國石油","13","15","20","14","13","1400");
pDC->DrawText(Spp,&rect2,DT_SINGLELINE|DT_CENTER|DT_VCENTER);//顯示
}