关于CreateEnhMetaFile生成wmf文件的问题

zhaoxubao7005 2009-02-22 08:44:20
向大家请教一个问题,我想生成一个wmf文件,然后每次都向他上面新加几个曲线,再保存。可现在无法实现呀。只能保存成外贸法、文件,但是新加曲线后,无法保存,打开后,还是原来的曲线,下面是部分代码,希望大家帮帮忙,谢谢
select case ( mesg )
case (WM_CREATE)
ik=0
increatement=10
ret=GetClientRect (hwnd, rect)
hTimer=SetTimer(hwnd,1,300,null)
hdlgdc=GetDC(hWnd)
hdcmeta=CreateEnhMetaFile(null,null,null,null) !开启保存曲线元位图Metafile
MainWndProc = 0
return

case(wm_timer)
if(ik==1) then !打开wmf文件
ik=0
hmf=GetEnhMetaFile("123.wmf")
ret= PlayEnhMetaFile (hdcmeta, hmf,rect)
hmf = CloseEnhMetaFile (hdcMeta)
ret= PlayEnhMetaFile (hdlgdc, hmf,rect)
hdcmeta=CreateEnhMetaFile(null,null,null,null)
ret= PlayEnhMetaFile (hdcmeta, hmf,rect)
endif
MainWndProc = 0
return

case (WM_COMMAND)
select case ( IAND(wParam, 16#ffff ) )
case (IDC_open)
ik=1
MainWndProc = 0
return
case (IDM_save) !保存wmf文件
hmf = CloseEnhMetaFile (hdcMeta)
ret=CopyEnhMetaFile(hmf,"123.wmf"c)
hdcmeta=CreateEnhMetaFile(null,null,null,null)
MainWndProc = 0
return
case (IDM_continueline) !打开后,继续画新的曲线,然后在保存,
ret=MoveToEx(hdcmeta,0,100+increatement,NULL_POINT) !在元位图中保存曲线
ret=LineTo(hdcmeta,800,500+increatement) !在元位图中保存曲线
increatement=increatement+10

MainWndProc = 0
return

...全文
281 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiang_yun 2009-02-22
  • 打赏
  • 举报
回复
1、在新添加曲线除添加调试信息,看是否添加成功
2、添加后,保持为新文件试试看,而不是覆盖原文件

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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