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

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

發布時間:2011-08-29 共1頁

  此段代碼在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);//顯示
  }

百分百考試網 考試寶典

立即免費試用