MDI中如何使主窗口的工具条随子窗口变化而变????(50分)

  • 主题发起人 主题发起人 yacc_wang
  • 开始时间 开始时间
Y

yacc_wang

Unregistered / Unconfirmed
GUEST, unregistred user!
关于MDI的问题,假如MainForm的FormStyle为“fsMDIForm”,Form1的FormStyle为“fsMDIChild”,而Form2为“fsMDIChild”,Form1和Form2的
属性基本相同。除Form2中的DBGrid.ReadOnly=true;
在MainForm中有一个DBNavigator, 运行时,如何使DBNavigator的Enabled
随Form1与Form2的焦点变而变。即当Form1运行DBNavigator的Enabled为True,当Form1运行DBNavigator的Enabled为Flase.
请大侠赐教?
 
if main.activemdichild is form1 then
...
else
...
 
you can do
like this ,too
source:
//form1.pas//
implementation
uses main;
procedure Tform1.oncreate(sender:Tobject);
begin
main.dbnavigator.enabled:=true;
end;
//
...
such as form2.pas
 
写 form1的 OnActivate 和 OnDeactivate 事件
 
好象没什么简单方法,就照 pipi 的做吧。
 
在Form1
TForm1.FormActivate(Sender: TObject);
begin
MainForm.DBNavigator1.Enabled:=True;
end;

在Form2
TForm2.FormActivate(Sender: TObject);
begin
MainForm.DBNavigator1.Enabled:=False;
end;
 
thank you,every one!
对于各位大虾的鼎立襄助,小弟再次鞠躬了。
 
我照 pipi 的做了,但在CB4中是乎不起作用,why?
 
另忘了在form1,form2...的单元中加上MainForm的单元的引用
Unit form1unit;
interface
uses ... , MainFormUnit;
...
 
在 MainForm 上放多个 TToolBar
ChildForm 创建时相应的ToolBar.Visible:=True;
ChildForm 释放时相应的ToolBar.Visible:=False;
方法有点笨、但实用
 
多人接受答案了。
 

Similar threads

后退
顶部