delphi多页面编程问题(200)

  • 主题发起人 主题发起人 zhou_1965
  • 开始时间 开始时间
Z

zhou_1965

Unregistered / Unconfirmed
GUEST, unregistred user!
最近开发c/s模式的数据库时遇到一个多页面的问题,不知哪位高手能解决,不胜感谢。程序有一个主界面(F_main),在主界面上放一个面板(Panel1),其他的窗口都在这个面板上显示,从而达到多页面的效果(非MDI窗口技术)。如有一个操作员窗口(F_user),设置为F_user.parent:=Panel1,显示时就会显示在主窗口的Panel1上,如果此时点击F_user上的按钮(如:添加),此时弹出一个窗口(可编辑操作员的信息),此时在弹出窗口中如何去操作F_user中的控件,直接用F_user.ref(ref是F_user中的控件或过程)要出错。(在弹出窗口添加完一个操作员保存后弹出窗口不关闭,还要添加另一个操作员,但F_user中的操作员信息要更新,将刚添加的操作员显示出来,此时就要操作F_user中的控件或过程)。
 
用一个回调就可以了.
 
考虑消息机制!postmessage。我就这样处理!程序有一个主界面(F_main),在主界面上放一个面板(Panel1),其他的窗口都在这个面板上显示,从而达到多页面的效果(非MDI窗口技术)。如有一个操作员窗口(F_user),-----------------------------------我的做法和你一样!握手
 
在F_user单元中的Interface部分,use弹出窗口单元(这个操作你肯定已经做了);在弹出窗口的implementation部分,use F_user单元。这样就可以避免单元文件的循环引用。如果弹出窗口类的实例,是在F_user单元的代码中创建的,并且指定Owner为F_user单元中的窗口类实例,则可以在弹出窗口单元的代码中这样引用F_user单元中窗口类的public属性或过程:TF_user(owner).SomePropertyOrSomeProceureOrSomeFunction;或者,如果F_user单元中申明并实例化了一个F_user窗口类实例变量,假设即是F_user变量,则可以直接在弹出窗口单元的代码中这样:F_user.SomePropertyOrSomeProceureOrSomeFunction;
 
Delphi的Standard页里的第一个控件,就是你要的."Frames"
 
有一个针对mdi的控件但是不是很好用有问题。你可以试一下。有能力的话大家一起解决一下。需要qq17227692
 
已采用回调函数解决,谢谢
 
后退
顶部