读书人

GRID_SIZE是什么意思?该怎么处理

发布时间: 2012-03-24 14:00:46 作者: rapoo

GRID_SIZE是什么意思?

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值 你自己随便设几个,然后看看结果。

读书人网 >VC/MFC

热点推荐