GRID_SIZE是什么意思?该怎么处理
GRID_SIZE是什么意思?
刚学vc,这段代码有哪位能够告诉我主要是干什么用的,还有代码中的GRID_SIZE是什么意思?
------解决方案--------------------
那是个宏定义
------解决方案--------------------
大概就是在客户区画图的代码
------解决方案--------------------
书得前面会有吧。只是 一些固定的int值 你自己随便设几个,然后看看结果。
- C/C++ code
void CsingleView::OnDraw(CDC* pDC) { CsingleDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码 //取得客户区域,并转化为相对坐标 CRect WndRect; this->GetWindowRect(&WndRect); this->ScreenToClient(&WndRect); CDC mdc; //内存DC CBitmap bmp; //临时位图,为内存DC提供绘图环境 CPen FramePen; //画矩形框使用画笔 CPen PtPen; //画点时使用的画笔 CBrush BkBrush; //背景画刷,灰色 CBrush PtBrush; //画点时用的画刷,红色 //初始化GDI对象 mdc.CreateCompatibleDC(pDC); bmp.CreateCompatibleBitmap(pDC,WndRect.Width(),WndRect.Height()); mdc.SelectObject (&bmp); FramePen.CreatePen(PS_SOLID,3,RGB(0,0,0)); mdc.SelectObject(&FramePen); BkBrush.CreateSolidBrush(RGB(128,128,128)); //绘制矩形区域 int width = MAX_X_NUM * GRID_SIZE, height = MAX_Y_NUM * GRID_SIZE; mdc.Rectangle(START_POS_X,START_POS_Y,width+START_POS_X,height+START_POS_Y); PtBrush.CreateSolidBrush(PS_SOLOD,1,RGB(0,0,0)); mdc.SelectObject(&PtPen); PtBrush.CreateSolidBrush(RGB(255,0,0)); mdc.SelectObject(&PtBrush); //枚举CSingleDoc类中的点集数据 int i, j; for (i = 0; i<MAX_X_NUM; i++) { for (j = 0; j< MAX_Y_NUM;j++) { //检测指定点的状态,如果为TRUE则在指定位置绘制红点 if (pDoc->GetGridStatus(i,j)) { int x = START_POS_X + GRID_SIZE * i; int y = START_POS_Y + GRID_SIZE * j; mdc.Ellipse(x, y, x + GRID_SIZE, y + GRID_SIZE); } } } pDC->BitBlt( 0, 0, WndRect.Width(),WndRect.Height(), &mdc, 0, 0, SRCCOPY); //删除临时GDI对象 bmp.DeleteObject(); FramePen.DeleteObject(); PtPen.DeleteObject(); BkBrush.DeleteObject(); PtBrush.DeleteObject(); mdc.DeleteDC(); }
刚学vc,这段代码有哪位能够告诉我主要是干什么用的,还有代码中的GRID_SIZE是什么意思?
------解决方案--------------------
那是个宏定义
------解决方案--------------------
大概就是在客户区画图的代码
------解决方案--------------------
书得前面会有吧。只是 一些固定的int值 你自己随便设几个,然后看看结果。