最好准备暗红灯和两红灯的位图,然后直接的OnDraw中Draw,直接用GDI函数画的话,太费时了

解决方案 »

  1.   

    cowboy22:
       其实是因为我的程序赶的很紧,我做的是工业控制程序,硬件已经是焦头烂额了
    实在是没有什么时间来看书,编写一个card833的驱动程序就花了很多的时间,我现在对
    API函数知道的很少,可是windows的东西本来就是又多又繁,我花了一个礼拜把<<深入浅出 MFC>>
    啃完了,但是发现虽然对原理有一些了解,但是要编写程序还是不行.我现在在看<<Windows程序设计>>在了解API,可是时间还是可能不够!所以有一些问题虽然弱智,包涵包涵
      

  2.   

    用VB,Delphi,BCB,千万不要用VC和API,这种东西没个半年学不会的。
      

  3.   

    sorry!!
    如果只是赶项目的话,建议就先不啃《深入浅出》<<Windows程序设计>>,最好找本普通的好入门的书step by step , 想用什么就看哪一部分.你可以在OnDraw中画一个圆的:
    CRect Rect(22,22,333,333); //自定位置,大小
    CPen Pen ;
    Pen.CreatePen(PS_SOLID,10,RGB(255,25,0)); ////画笔(实心,宽度,颜色<自定>)
    CPen* pOldPen = pDC->SelectObject(&Pen);

    CBrush Brush;
    Brush.CreateSolidBrush(RGB(0,25,255));  //画刷
    CBrush* pOldBrush = pDC->SelectObject(&Brush); pDC->Ellipse(Rect); //开始画


    pDC->SelectObject(pOldPen);    
    pDC->SelectObject(pOldBrush);
    如果俺没说错的话你就是工业自动化之类的专业吧,咱俩曾是同行啊,只是俺出来就投靠了IT
      

  4.   

    在CView的类中加入一个成员变量:CImageList m_imagelist;
    在CView的构造函数中调用:m_imagelist.Create();
    CBitmap mp;
    mp.LoadBitmap();
    m_imagelist.Add(mp,....);
    在需要显示的时候
    调用m_imagelist.Draw()函数画就行了。
      

  5.   

    hehe
    我现在还在学校,要8.3才去报到.
    我今年毕业
      

  6.   

    CPaintDC dc(this);
    CRect rect;
    GetWindowRect(&rect);

    CDC memDC;
    CBitmap* pOldMemBmp = NULL;
    memDC.CreateCompatibleDC(&dc);
    pOldMemBmp = memDC.SelectObject(&m_Panel);
    dc.BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);
    if (pOldMemBmp) memDC.SelectObject( pOldMemBmp );
    ReleaseDC(&memDC);
    接连用两次
    pOldMemBmp = memDC.SelectObject(&m_Panel);
    dc.BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);
    把m_Panel换了,它是CBitmap类的。