我使用Delphi6开发Access数据库应用程序。在数据录入时,使用了TDBCheckBox和 TDBEdit控件,并设置好了它们的DataSource和Da

  • 主题发起人 主题发起人 云游四海
  • 开始时间 开始时间

云游四海

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用Delphi6开发Access数据库应用程序。在数据录入时,使用了TDBCheckBox和 TDBEdit控件,并设置好了它们的DataSource和DataField属性。程序运行正常。但想通过设置Enabled属性为false,使它们“变灰”时,无法实现!!!请问如何解决???(100分)<br />[:(!]我使用Delphi6开发Access数据库应用程序。在数据录入时,使用了TDBCheckBox和 TDBEdit控件,并设置好了它们的DataSource和DataField属性。程序运行正常。但想通过设置Enabled属性为false,使它们“变灰”时,无法实现!!!请问如何解决???
 
断开连接试试。
 
可以呀,我刚试了,你在试试
 
你可以在changstate事件試試
 
不可能的吧,我的可以啊
 
请说 明你用什么 什么 联的 数据 源呢?

BDE ? ADO ? DiamondAccess ?

不一样的 数据 引擎 , 方法 也不一样的吧.
 
我的程序代码为:

连接部分:
procedure TForm1.FormCreate(Sender: TObject);
var
MyDBase: string;
begin
MyDBase := ExtractFilePath(Application.ExeName) + 'Dat.mdb';
with ADOConnection1 do
begin
LoginPrompt := false;
Connected := false;
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + MyDBase
+ ';Jet OLEDB:Database Password=' + MyPassW + ';Persist Security Info=False';
Connected := true;
end;

ADOQuery1.Open;
end;

当点击TDBCheckBox控件时的代码为:
procedure TForm1.AnyClick(aCBox: TDBCheckBox; aDEdit: TDBEdit; aULab: TLabel);
begin
if CanCheck{如果符合点击条件} and aCBox.Checked then
begin
aCBox.Checked := true;
aDEdit.Enabled := false;
aULab.Enabled := false;
end
else
begin
aCBox.Checked := false;
aDEdit.Enabled := true;
aULab.Enabled := true;
end;
end;
为何不能实现!
 
你先不要在代码中设置,先在设计时设置它的Enabled := false;看能不能实现。。。
我这不管是在运行时还是在设计时都可以。。。
我用的是D5.
 

if CanCheck{如果符合点击条件} and aCBox.Checked then
begin
aCBox.Checked := true; // 跟踪一下,看能否进入到次?
aDEdit.Enabled := false;
aULab.Enabled := false;
end
else
begin
aCBox.Checked := false; //词句意义何在?
aDEdit.Enabled := true;
aULab.Enabled := true;
end;
end;

 
问题已解决!
 
多人接受答案了。
 
后退
顶部