• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

一个双缓冲问题

thebestfriend 2008-12-02 07:05:21
我在绘图过程中采用了建立一个兼容内存的方式,但是在绘图时,设置的映像模式不起作用了,为什么?
...全文
64 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
云风 2008-12-03
定义自己的坐标系,再自己算位置,再画……
我是这样做的……
回复
aqqwrpggame 2008-12-02
定义自己的坐标系,实现自定义的坐标系到窗口坐标系的转换。
回复
我也关注此问题!!当然我的比这复杂了!
首先:我用的是ScrollView类作为视图基类.
其次:我的文档有大小:假如 (20000,20000)
再次:逻辑坐标隐射方式为:MM_LOMETRIC, 坐标原点为:SetWindowOrg(-10000,10000).
再次:我也是在 内存DC中绘画.具体是,跟上面一样差不多:
CDC *pdc=this->GetDC();
CDC MenDC;
CBitmap bm;

CRect rt;
GetClientRect(&rt);
MenDC.CreateCompatibleDC(pdc);
bm.CreateCompatibleBitmap(pdc,rt.Width(),rt.Height()); //即与视图同样大的位图
MenDC.SelectObject(&bm);
当然设备环境和pDC一样:逻辑坐标隐射方式为:MM_LOMETRIC; 坐标原点为左下角.
再次:也是使用 pdc->BitBlt(?,?,?,?,&MenDC,?,?,SRCCOPY);

问题是:我不知道怎么处理这些坐标值-----因为窗口会滚动????
回复
lovestudycc 2008-12-02
设置模式我不会,我都是用的笨方法,就是自己算位置,再画,比如控件高度减去当前Y坐标什么的~~~
回复
thebestfriend 2008-12-02
映射模式就是坐标呀,X,Y轴正方向,现在是X轴向右为正,Y轴向下为正,我想通过设置映射模式例如SetMapMode(MM_LOMETRIC),来画个直角坐标系
回复
Tinary3v0 2008-12-02
搞不清楚什么模式不模式的,下面是我在鼠标移动过程中使用内存绘图的部分代码,楼主参考一下吧!

void CMnView::OnMouseMove(UINT nFlags, CPoint point) 
{
CDC *pdc=this->GetDC();
CDC MenDC;
CBitmap bm;

CRect rt;
GetClientRect(&rt);
MenDC.CreateCompatibleDC(pdc);
bm.CreateCompatibleBitmap(pdc,rt.Width(),rt.Height());
MenDC.SelectObject(&bm);
MenDC.FillSolidRect(0,0,rt.Width(),rt.Height(),RGB(255,255,255)); //用白色清屏
//-------------------------------------------------------------------
//这里用MenDC绘图即可
//-------------------------------------------------------------------
pdc->BitBlt(0,0,rt.Width(),rt.Height(),&MenDC,0,0,SRCCOPY); //从内存DC考到屏幕DC 你说的模式是指SRCCOPY么??
MenDC.DeleteDC();
bm.DeleteObject();
ReleaseDC(pdc);
CScrollView::OnMouseMove(nFlags, point);
}
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-12-02 07:05
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……