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在打印纸上有
}

断点追踪显示是函数都 调用成功了,但始终没有画出直线。请问为什么啊
...全文
110 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
可能是你把笔的类型设置成了空笔啦

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧