这句话注释掉
 dc.SetROP2(R2_NOTXORPEN);//设置绘图颜色

解决方案 »

  1.   

    呵呵,没有用过这个技术。能不能详细讲一下基本思路。
    -----------
    就是你绘图的部分单独做,在内存位图上完成,然后把这个存有你绘图信息的位图帖到背景位图上去即可,细节你可以参考我BLOG上转的CODEPROJECT上的一个控件的实现
      

  2.   

    建義找一本基礎點的書看看!比如說孫鑫的深入淺出,上面的例子都不錯,這個問題很簡單!1比如說你可以調用FONT來設置線條颜色!1
    CFontDialog dlg;
    if(IDOK==dlg.DoModal())
    {
    if(m_font.m_hObject)
    m_font.DeleteObject();
    m_font.CreateFontIndirect(dlg.m_cf.lpLogFont);
    m_strFontName=dlg.m_cf.lpLogFont->lfFaceName;
    Invalidate();
    }
      

  3.   

    这个应该不难吧。你可以预设一个COLORREF型的全局变量,比如就叫color。
    然后在某个菜单里弹出CColorDialog 对话框,获取颜色值就行了。
    CColorDialog colordlg;
    if(colordlg.DoModal() == IDOK)
    {
    color=colordlg.GetColor();
    }
    这样,创建画笔的时候,就可以用这种颜色了。此种程序我以前也做过,不过我那程序还是有问题。我们可以交流一下:[email protected]
      

  4.   

    dc.SetROP2(R2_NOTXORPEN);//设置绘图颜色
    不能使用这个,SetROP2这个函数是根据背景颜色来计算改变所选择的颜色楼上这种方法旧可以实现=============================================================
    xf_21() ( ) 信誉:100 这个应该不难吧。你可以预设一个COLORREF型的全局变量,比如就叫color。
    然后在某个菜单里弹出CColorDialog 对话框,获取颜色值就行了。
    CColorDialog colordlg;
    if(colordlg.DoModal() == IDOK)
    {
    color=colordlg.GetColor();
    }
    这样,创建画笔的时候,就可以用这种颜色了。此种程序我以前也做过,不过我那程序还是有问题。我们可以交流一下:[email protected]
      

  5.   

    这个问题已经解决,谢谢各位.
    只能用breakind说的图层的方法.