2010.10.13

1、关于CDC在OnDraw中的使用

如下代码:

 

//重绘前,重新计算所有图形的位置信息
 AdjustAllDisplayObj(pDC);//pDC的TextOut在此不发生作用,为什么?
 AdjuxtAllExpObj(pDC);

 pDoc->Draw(pDrawDC, this);

 if (pDrawDC != pDC)
 {
  pDC->SetViewportOrg(0, 0);
  pDC->SetWindowOrg(0,0);
  pDC->SetMapMode(MM_TEXT);
  dc.SetViewportOrg(0, 0);
  dc.SetWindowOrg(0,0);
  dc.SetMapMode(MM_TEXT);
  pDC->BitBlt(rect.left, rect.top, rect.Width(), rect.Height(), &dc, 0, 0, SRCCOPY);
  dc.SelectObject(pOldBitmap);
 }

 /*CDrawRect* pObj=((CDrawRect*)(m_expObj.GetHead()));
 pDC->TextOut(pObj->m_position.left,pObj->m_position.top+40,_T("16bit 6.25m"));*/
 AdjustStreamerWordDesp(pDC);//调整电缆段文字描述,与电缆段并不是一个整体
 AdjustAllDisplayObj(pDC);//主要是罗经鸟的Textout在此之前没发生作用

 

 AdjustAllDisplayObj(pDC);函数中,pDC->TextOut,为什么在前面不起作用,在后面才起作用呢?

 

2、一个应用程序,最多只能同时分配5个设备句柄,所以取得设备句柄使用后一定要调用CWnd::ReleaseDC()释放。

 

3、对于一个应用程序的工程文件:PnrNetCfg.vcproj

   其中关于文件的描述:

<File
    RelativePath=".\PnrCreateReport.cpp"
    >
   </File> 

   每个标签之间只能有一个应用;同一个引用不能出项多次;否则会发生无法load的情况。

 

 

你可能感兴趣的:(2010.10.13)