精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

重載CView::OnDraw()文檔顯示

發(fā)布時(shí)間:2011-08-29 共1頁(yè)

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

百分百考試網(wǎng) 考試寶典

立即免費(fèi)試用