L
leohubble
Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个activeform ,加了一个属性页,可是无法完成属性设置(按确定或者应用都没有反映)
不知何故,我查看了《Delphi深入探索》中的例子,没看出什么问题。我的代码:
市想修改两个widestring类型的属性:cnn和strsql,在属性页上加了两个Tedit:edtcnn和edtsql
procedure Tfrmpp.UpdatePropertyPage;
begin
edtcnn.Text:=OleObject.strcnn;
edtsql.Text:=OleObject.strsql;
{ Update your controls from OleObject }
end;
procedure Tfrmpp.UpdateObject;
begin
OleObject.strcnn:=edtcnn.text;
OleObject.strsql:=edtsql.Text;
{ Update OleObject from your controls }
end;
procedure Tfrmpp.edtcnnChange(Sender: TObject);
begin
Modified;
end;
procedure Tfrmpp.edtsqlChange(Sender: TObject);
begin
Modified;
end;
我的理解是这样的:
按我理解是在属性页中,是把Modified加在对应于属性的编辑元件的onchange事件中,不知道对不对?
但是我仿造这个方法,写在我的程序中,还是不行。但是这样写了以后,右键唤出属性页之后,ok和apply两个按钮还是没有反映:(。
另外,我还有一个问题,如果我用系统自带的属性页的话,比如calss_Dstringproperpage对应的,还是无法编辑,这个怎么办?
不知何故,我查看了《Delphi深入探索》中的例子,没看出什么问题。我的代码:
市想修改两个widestring类型的属性:cnn和strsql,在属性页上加了两个Tedit:edtcnn和edtsql
procedure Tfrmpp.UpdatePropertyPage;
begin
edtcnn.Text:=OleObject.strcnn;
edtsql.Text:=OleObject.strsql;
{ Update your controls from OleObject }
end;
procedure Tfrmpp.UpdateObject;
begin
OleObject.strcnn:=edtcnn.text;
OleObject.strsql:=edtsql.Text;
{ Update OleObject from your controls }
end;
procedure Tfrmpp.edtcnnChange(Sender: TObject);
begin
Modified;
end;
procedure Tfrmpp.edtsqlChange(Sender: TObject);
begin
Modified;
end;
我的理解是这样的:
按我理解是在属性页中,是把Modified加在对应于属性的编辑元件的onchange事件中,不知道对不对?
但是我仿造这个方法,写在我的程序中,还是不行。但是这样写了以后,右键唤出属性页之后,ok和apply两个按钮还是没有反映:(。
另外,我还有一个问题,如果我用系统自带的属性页的话,比如calss_Dstringproperpage对应的,还是无法编辑,这个怎么办?