谁能帮我解决这问题呀?/欢迎oop高手指点迷津... (10分)

  • 主题发起人 主题发起人 hblyp21
  • 开始时间 开始时间
H

hblyp21

Unregistered / Unconfirmed
GUEST, unregistred user!
combobox9:Tcombobox;
edit:Tedit;
procedure mainfrm.Edit1Change(Sender: TObject);
//载状体中定义
procedure mainfrm.Edit1Change(Sender: TObject);
begin
if trim(edit1.Text)<>'' then
begin
combobox9.Enabled:=true;
end
else
combobox9.Enabled:=false;
end;
//上面为edit1对自身的值判断,而影响下一个组件的属性,在其他查询窗体里面也要用到
同样的代码,请问以下有什么好方法呢?查询窗体是子窗体,不是常驻内存的?
有线证明该窗体只有一个这样的事件,也就不存在用shift所有的相同控件。我想载主创体中做成个过程在子窗体中调用。
procedure edit1change(sender:Tobject);
begin
mianfrm.edit1change(edit1);
end;//在子窗体中调用单是提示好像访问不到combobox9的地址。怎么回事呀?高手们????小弟在此谢了!!

 
你的打字水平真差,好多估计都是错别字,不知所云。
 
假设主窗体为 MainForm
在子窗体中 uses MainForm;
 
建立一个子窗体类(TSubForm),定义一个Public过程(procedure Proc;)

在主窗体中,定义一个变量其类型是TSubForm
subForm:TSubForm;
。。。。。
通过 subForm.Proc
调用
而你的Procedure Proc 再 调用 Edit1Change 就行了
 
把主体带上,应该就可以了。如下。
combobox9:Tcombobox;
edit:Tedit;
procedure mainfrm.Edit1Change(Sender: TObject);
//载状体中定义
procedure mainfrm.Edit1Change(Sender: TObject);
begin
if trim(mainfrm.edit1.Text)<>'' then
begin
mainfrm.combobox9.Enabled:=true;
end
else
mainfrm.combobox9.Enabled:=false;
end;
procedure edit1change(sender:Tobject);
begin
mianfrm.edit1change(mianfrm.edit1);
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
848
import
I
I
回复
0
查看
856
import
I
后退
顶部