W
wuyaobin
Unregistered / Unconfirmed
GUEST, unregistred user!
我想利用窗口融合技术做一个向导型界面!
主窗口:有一个Panel,一个上一步按钮,一个下一步按钮。
融合到主窗口Panel中的子窗口:共有20个,Form1,Form2,Form3......Form20
按下一步按钮时由Form1切换到Form2(Form1释放,建立Form2并融合到Panel上),再按一次则切换到Form3,上一步按钮类似。
为了以后修改界面顺序或增加界面方便,我有一个想法:把所有窗口的有关“参数”放到一个记录数组中,以后只需修改这个记录数组即可改变向导次序或增减界面,而不用修改其它代码!
如:记录数组
type
TFormPoint=record//记录某个窗口的参数
FormClass:TFormClass;
Form:TForm
...
end;
var
FormOrder:array[0..19] of TFormPoint;//所有窗口
FormOrder[0].FormClass:=TForm1;
FormOrder[0].Form:=Form1;
...
...
...
初始化这个数组后,用ShowForm(FormClass:TFormClass;Form:TForm; Panel: TPanel);实现界面的切换。
上面的代码只是假设,我实现不了(建立的Form1窗口在主窗口上不能用Form1.Label1.Caption:='Test'访问,错了但不知怎样改)。
请各位富翁啦指正!或者你有更好的方法请告诉我。
主窗口:有一个Panel,一个上一步按钮,一个下一步按钮。
融合到主窗口Panel中的子窗口:共有20个,Form1,Form2,Form3......Form20
按下一步按钮时由Form1切换到Form2(Form1释放,建立Form2并融合到Panel上),再按一次则切换到Form3,上一步按钮类似。
为了以后修改界面顺序或增加界面方便,我有一个想法:把所有窗口的有关“参数”放到一个记录数组中,以后只需修改这个记录数组即可改变向导次序或增减界面,而不用修改其它代码!
如:记录数组
type
TFormPoint=record//记录某个窗口的参数
FormClass:TFormClass;
Form:TForm
...
end;
var
FormOrder:array[0..19] of TFormPoint;//所有窗口
FormOrder[0].FormClass:=TForm1;
FormOrder[0].Form:=Form1;
...
...
...
初始化这个数组后,用ShowForm(FormClass:TFormClass;Form:TForm; Panel: TPanel);实现界面的切换。
上面的代码只是假设,我实现不了(建立的Form1窗口在主窗口上不能用Form1.Label1.Caption:='Test'访问,错了但不知怎样改)。
请各位富翁啦指正!或者你有更好的方法请告诉我。