请教各位,我想在程序中实现类似PowerPoint的幻灯演示的效果,该如何去做?
要求:
1.程序启动后显示各种图表,可以上一张下一张的轮流。
2.用户可以随机定位到某一张,基本菜单设计如下:
上一张
下一张
-----
循环演示
------
幻灯1
幻灯2
幻灯3
.....
幻灯N
3.每一张(抽象的,不一定是图片,可能是grids或者别的chart图表)
4.程序做成可扩展的,最多在需要变化的时候添加新的form再编译,不得大量改变原有的代码。由于显示的量可能很多,所以不可能把全部的画面使用tab控件放到一个窗口中,再说我要全屏效果,所以也不可能了。我的初步思路:
1.做一个隐藏的主窗口,上面添加一个弹出菜单。这个菜单被所有临时创建的窗口(幻灯)共享,这样我在每一个窗口都可以右键调用该菜单来进退或者定位。
2.程序启动后自动创建第一张幻灯。
3.由于窗口太多(后续可能添加),所有的只能临时创建,在下一张的时候free当前的,这样程序总始终只存在两个窗口,一个隐藏的主窗口和当前幻灯。
4.建立一个全区方法,使用全局变量来定位幻灯。理想的效果是:每张幻灯只需要设计好form即可,没有其他任何的事件或方法调用。新增加幻灯只需要把新增加的特征写入这个全局函数再编译或者说存进一个配置文件而不需要编译即可。遇到的麻烦:
1.以前我可以在方法中使用:
application.createform(tform1,s);
s.showmodal;
s.free;
来临时创建和free窗口,但是今天我在一个窗口中加入一个dbchart后就会运行报错。新建一窗口不放控件却又可以,我调试半天不知道错在哪里,请指教.谢谢。2.如何通过一个全局的方法根据 “特征量”去创建一个窗口并显示,该特征量最好可以保存。
例如:(伪代码)
从文件读取所有幻灯“特征量”
tstringlist.loadfromfile(*);
根据参数,销毁当前幻灯&1并显示&2 
&1.free;
createform(tstringlist.values(&2),s);
s.showmodal;