找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 702|回复: 4

[求助] [求助]:◆求助,请问怎样才可以在同一个图像框里调用不同的幻灯片文件

[复制链接]
发表于 2003-3-7 01:00:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我正在学编程
请问怎样才可以在同一个图像框里调用不同的幻灯片文件,我现在编的一个程序急用,请大家帮忙。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-3-7 01:11:39 | 显示全部楼层

Re: [求助]:◆求助,请问怎样才可以在同一个图像框里调用不同的幻灯片文件

最初由 地鼠 发布
[B]我正在学编程
请问怎样才可以在同一个图像框里调用不同的幻灯片文件,我现在编的一个程序急用,请大家帮忙。 [/B]


用 (slide_image x1 y1 width height sldname) 在IMAGE里面显示幻灯,幻灯名字根据你给的参数 sldname 不同显示的就不同。

如果你调用的是幻灯库里面的幻灯,那么 sldname 格式应该为:

"路径/slbname(sldname)"

其中: slbname 是幻灯库SLB文件名,sldname 是其中存在的幻灯名
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-3-7 01:25:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
不是这个意思,我的意思是,在同一个对话框里,我设定了几个按钮,只有一个图像
我希望在按1号按钮时图像里出现一号幻灯文件,在按2号按钮时图像里出现二号幻灯文件,请问每个按钮应该调用的函数是什么样子

这是我的lisp文件,还没有写完,请帮我看看:
                                       ;渠道cad设计程序
;主程序
(defun qdcad ()
  (setvar "cmdecho" 0)
  (setq id (load_dialog "put_in1" ))
  (if(< id 0)(exit))
  (setq what 2 a 0 b 0 c 0 d 0 e 0 f 0 g 0 h 0);赋予参数值
  (setq i (open "qdcad.txt" "w"));新建文本文件
  (while (> what 1)
    (if not (new_dialog "put_in1" id)(exit))
    (dlg1)
    (if (= what 1) (progn        ;如果按"确定",就把对话框对像数据转移到参数,并且调用绘图函数draw()
                     (getdate)
                     (draw)
                   )
    )
  )
  (close i);关闭文本文件
  ;(setq i (open "qdcad.txt" "w"));清空文本文件
  ;(close i)                      ;清空文本文件
  (unload_dialog id)
)

;初始化对话框
(defun dlg1()
  (initimg "img1" "qdcad1")
  (set_tile "zhuang_hao1" (rtos a 2 0))
  (set_tile "zhuang_hao2" (rtos b 2 0))
  (set_tile "zhuang_hao3" (rtos c 2 0))
  (set_tile "zhuo_biao1" (rtos d 2 0))
  (set_tile "zhuo_biao2" (rtos e 2 0))
  (set_tile "number1" (rtos g 2 0))
  (set_tile "number2" (rtos h 2 0))
  (set_tile "di_mie" (rtos f 2 0))
  (action_tile "niu1" "(img_go1)");执行函数img_go1(),将图片qdcad1载入"img1"
  (action_tile "niu2" "(img_go2)");执行函数,将图片qdcad2载入"img1"
  (action_tile "niu3" "(img_go3)");执行函数,将图片qdcad3载入"img1"
  (action_tile "niu4" "(img_go4)");执行函数,将图片qdcad4载入"img1"
  (action_tile "niu5" "(img_go5)");执行函数,将图片qdcad5载入"img1"
  (action_tile "niu6" "(di_mie_write)");执行函数di_mie_write(),将地面高程的值写入文本文件
  (action_tile "niu7" "(di_mie_rewrite)");执行函数di_mie_rewrite(),将记录地面高程的文本文件重写
  (action_tile "accept" "(done_dialog 1)")
  (action_tile "cancle" "(done_dialog 0)")
  (setq what (start_dialog))
)

;图像调用
(defun initimg (image sld)
  (start_image image)
  (slide_image 0 0 (dimx_tile image) (dimy_tile image) sld)
  (end_image)
)

;对话框对像数据转移到参数
(defun getdate()
  (setq a (atof (get_tile "zhuang_hao1")))
  (setq b (atof (get_tile "zhuang_hao2")))
  (setq c (atof (get_tile "zhuang_hao3")))
  (setq d (atof (get_tile "zhuo_biao1")))
  (setq e (atof (get_tile "zhuo_biao2")))
)

;将地面高程的值写入文本文件qdcad.txt,定义值为i
(defun di_mie_write()
  (setq f (atof (get_tile "di_mie")));将地面高程值赋给f
  (write-line (itoa (fix (* f 1000))) i);将地面高程值乘以1000,再转为整型,再转为字符串,将该字符串写入文本文件
)


;将记录地面高程的文本文件重写
(defun di_mie_rewrite()
  (setq i (open "qdcad.txt" "w"))
  (close i)
)


;根据参数制图
(defun draw()
  (setq a 1)
  
)


;调入图像1
(defun img_go1()
  (initimg ("img1" "qdcad1"))
)
;调入图像2
(defun img_go2()
  (set_tile "img1" qdcad2)
)
;调入图像3
(defun img_go3()
  (initimg "img1" "qdcad3")
)
;调入图像4
(defun img_go4()
  (initimg "img1" "qdcad4")
)
;调入图像5
(defun img_go5()
  (initimg "img1" "qdcad5")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-3-7 09:47:00 | 显示全部楼层
在你按下2号按钮的时候先用fill_image清除原来的幻灯片,然后用slide_image加载新的幻灯片。
每个按钮的函数里都应包括这两个步骤。

  1. (defun image_disapp()
  2.       (start_image ai_key)
  3.     (fill_image 0 0 (dimx_tile ai_key) (dimy_tile ai_key) -2)
  4.     (end_image)
  5.   )
  6. (defun image_app()
  7.     (start_image ai_key)
  8.     (slide_image 0 0 (dimx_tile ai_key)  (dimy_tile ai_key)  ai_key)
  9.     (end_image)
  10.   )

这是我自己程序里用的,希望能给你点提示。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-3-7 12:49:53 | 显示全部楼层
太棒了,要的就是这个,谢谢楼上的这位师兄了,也谢谢版主及晓东,程序编好后我会在这儿把源码公布的,谢谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 09:43 , Processed in 0.279130 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表