导航
  • 主页
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • VC/MFC界面
  • VC/MFC 进程
  • VC/MFC 数据库
  • VC++技术资源

LineTo()的问题

namewchwch 2009-07-25 11:01:25
OnMyPrint(WPARAM wParam,LPARAM lParam) //=======在打印机上绘图
{
CDC* pdc = (CDC*)wParam;
CPrintInfo* pInfo= (CPrintInfo *)lParam;
int nPageNumber = pInfo->m_nCurPage;
pdc->SetMapMode(MM_TEXT);
pdc->SetBkColor(RGB(255,0,0));
pdc->MoveTo(500,500); //
pdc->LineTo(900,900); // LineTo() 返回值是1 表示调用成功了 但没有绘出线
pdc->TextOutW(700,700,_T("aaaaa")) ; // 这里的aaaaa在打印纸上有
}

断点追踪显示是函数都 调用成功了,但始终没有画出直线。请问为什么啊
...全文
48 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lin 2009-07-25
第一,对于画线来说,SetBkColor无效,该函数对文本有效;
第二,可能默认的CPen对象是白色的?实际上打印机打了一条白色的线,白色背景下你当然看不着
第三,解决方案:创建一个与背景色不一致的CPen并选入CDC再试
回复
namewchwch 2009-07-25
[Quote=引用 2 楼 bdzwj 的回复:]
绘制线型,是需要CPen对象的

[/Quote]

不需要啊 我在另一个函数里调用就不用CPen 也画出来了
回复
bdzwj 2009-07-25
绘制线型,是需要CPen对象的
回复
gg606 2009-07-25
外行话:是不是线太细了?你用一个CPen,把线设粗一些看看
回复
proficientman 2009-07-25
你是不是少写了代码,在定义了pdc后,应该有:pdc=GetDC();定义设备上下文。
最后用ReleaseDC(pdc)释放
回复
cutrain2009 2009-07-25
可能是你把笔的类型设置成了空笔啦
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告

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