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的情况。