知识大全 Delphi自定义部件开发(三)[4]
Posted 知
篇首语:拼一个春夏秋冬,愿一生无怨无悔。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi自定义部件开发(三)[4]相关的知识,希望对你有一定的参考价值。
DELPHI基础教程:Delphi自定义部件开发(三)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
下面是DataSource和DataField的声明和它们的实现方法
type
TDBCalendar = class(TSampleCalendar)
private 属性的实现方法是
function GetDataField: string; 返回数据库字段的名字
function GetDataSource: TDataSource; 返回数据源(Data source)的引用
procedure SetDataField(const Value: string) 给数据库字段名赋值
procedure SetDataSource(Value: TDataSource) 给数据源赋值
published 使属性在设计时可用
property DataField: string read GetDataField write SetDataField;
property DataSource: TDataSource read GetDataSource write SetDataSource;
end;
……
function TDBCalendar GetDataField: string;
begin
Result := FDataLink FieldName;
end;
function TDBCalendar GetDataSource: TDataSource;
begin
Result := FDataLink DataSource;
end;
procedure TDBCalendar SetDataField(const Value: string)
begin
FDataLink FieldName := Value;
end;
procedure TDBCalendar SetDataSource(Value: TDataSource)
begin
FDataLink DataSource := Value;
end;
现在 就建立了日历和DataLink的链 此外还有一个更重要的步骤 你必须在日历构建时创建DataLink对象 在日历析构时 撤消DataLink对象
⑶ 初始化DataLink
在数据相关控制在其存在的期间要不停地访问DataLink对象 因此 必须在其构建函数中创建DataLink创建并且在析构时 撤消DataLink对象 因此要覆蓋日历的Create和Destroy方法
type
TDBCalendar=class(TCalendar)
public
constructor Create(Aowna: TComponent) override;
destructor Destroy; override;
end;
constructor TDBCalendar Create (Aowner: TComponent)
begin
inherited Create(AOwner)
FReadOnly := True;
FDataLink := TFieldDataLink Create;
end;
destructor TDBCalendar Destroy;
begin
FDataLink Free;
inherited Destroy;
end;
现在 部件已拥有完整的DataLink 但部件还不知从相联的域中读取什么数据
响应数据变化
一旦控制拥有了数据联接(DataLink)和描述数据源和数据域的属性 就需在数据记录改变时响应域中数据的变化
DataLink对象都有个名为OnDataChange的事件 当数据源指示数据发生变化时 DataLink对象调用任何OnDataChange所联接的事件处理过程
要在数据改变时更新数据 就需要给DataLink对象的OnDataChange事件增加事件处理过程
下面声明了DataChange方法 并将其赋给DataLink对象的OnDataChange事件
type
TDBCalendar=class(TCalendar)
private
procedure Datachange(Sender: TObject)
end;
constructor TDBCalendar Create(AOwner:TComponent)
begin
inherited Create(AOwner)
FReadOnly := True;
FDataLink := TFieldDataLink Create;
FDataLink OnDataChange := DataChange;
end;
destructor TDBcalendar Destroy;
begin
FDataLink OnDataChange := nil;
FDataLink Free;
inherited Destroy
end;
procedure TDBCalendar DataChange(Sender: TObject)
begin
if FDataLink Filed=nil then
CalendarDate := ;
else
CalendarDate := FDataLink Field AsDate;
end;
返回目录 DELPHI基础教程
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
Java程序性能优化 让你的Java程序更快 更稳定
C嵌入式编程设计模式
Android游戏开发实践指南
cha138/Article/program/Delphi/201311/25116相关参考
DELPHI基础教程:Delphi自定义部件开发(三)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(三)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(四)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(一)[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
DELPHI基础教程:Delphi自定义部件开发(二)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看