今天实现了一个程序,单文档分割成多个窗口,并将其中两个副窗口分别设计成文件列表和播放器按钮集,主窗口用来显示播放文件的波形。觉得应该小小总结一下。
窗体分割不再多说了,我的资源里有源代码,有兴趣的朋友可以去下下,网上也有很多例子(不过多数都不能执行哦,需要自己试试!)
关键是在分割窗体后注意设置一个SetActiveView()来激活需要传递波形图的窗口。
这个函数前两项是窗体的分割位置,比如说第一行第二列就设置SetActiveView(0,1,NULL);
设置好窗体后,如何在分割后的窗口视类(C**View)和主类(CMainFrame)之间传递参数呢,在主窗口的参数如果需要在视类中调用就在视类函数中写
CMainFrame *cwd=GetActiveCwd();
cwd->视类需要的参数
即可
而要在主类CMainFrame中调用视类比较麻烦一点,因为已经分成多个窗口了,一次只能激活一个窗口,所以前面设计的SetActiveView就有用了,比如设计了第一行第二列为激活窗口,那么只能用这个窗口在主类中调用比如在需要调用的地方写
C**View *pview=GetActiveView();
pview->主类需要的参数
注意要是在前面设置成第一行第一列那样也可以调用C**View的参数但反馈的结果(比如说画图结果)都会显示在第一行第一列。
播放程序用的是RealPlayer控件,在我资源里也有。
画图用Moveto、Lineto也很简单。