知识大全 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自定义部件开发(三)[2]

DELPHI基础教程:Delphi自定义部件开发(三)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(三)[1]

DELPHI基础教程:Delphi自定义部件开发(三)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(二)[4]

DELPHI基础教程:Delphi自定义部件开发(二)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(一)[4]

DELPHI基础教程:Delphi自定义部件开发(一)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(四)[4]

DELPHI基础教程:Delphi自定义部件开发(四)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(一)[3]

DELPHI基础教程:Delphi自定义部件开发(一)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(一)[2]

DELPHI基础教程:Delphi自定义部件开发(一)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(一)[1]

DELPHI基础教程:Delphi自定义部件开发(一)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(二)[3]

DELPHI基础教程:Delphi自定义部件开发(二)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi自定义部件开发(二)[2]

DELPHI基础教程:Delphi自定义部件开发(二)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看