elmimeviewer_message.pas

来自「著名的SecureBlackBox控件完整源码」· PAS 代码 · 共 107 行

PAS
107
字号
// File Version: 2004-04-16
unit ElMimeViewer_Message;

interface

uses
  // System units:
  SysUtils, Classes,
  {$IFDEF DELPHI_NET}
  System.ComponentModel,
  {$ENDIF}
  // El Mime units:
  SBMIMETypes,
  SBMIMEUtils,
  SBMIMEClasses,
  SBMIMEStream,
  SBMIME,
  // ElMime Demo units:
  ElMimeViewer_DataCommon,
  // other units:
  Windows, Messages, {$IFDEF D_6_UP}Variants,{$ENDIF} Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TFrame = TElMimePlugFrame;

  TfraMessage = class(TFrame)
    lcMessageSentTime: TLabel;
    lvMessageSentTime: TLabel;
    lcMessageReceivedTime: TLabel;
    lvMessageReceivedTime: TLabel;
  private
    { Private declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    class function IsSupportedThisMessapePart(mp: TElMessagePart; TagInfo: TTagInfo; Node: TTreeNodeInfo): Boolean; override;
    function GetCaption: string; override;
  protected
    procedure Init(mp: TElMessagePart; TagInfo: TTagInfo; Node: TTreeNodeInfo; bShow: Boolean); override;
  end;

implementation

{$R *.dfm}

{ TfraMessage }

class function TfraMessage.IsSupportedThisMessapePart(mp: TElMessagePart;
  TagInfo: TTagInfo; Node: TTreeNodeInfo): Boolean;
begin
  Result := False;
  if (TagInfo<>tiParsedMessage) or (Node=nil) or (mp=nil) then
    exit;
  Result := True;
end;

constructor TfraMessage.Create(AOwner: TComponent);
begin
  inherited;

end;

destructor TfraMessage.Destroy;
begin

  inherited;
end;

function TfraMessage.GetCaption: string;
begin
  if (fNode=nil) or (not fNode.Locked) then
    Result := 'Message'
  else
    Result := ' ... please wait when message parsed';
end;

procedure TfraMessage.Init(mp: TElMessagePart; TagInfo: TTagInfo;
  Node: TTreeNodeInfo; bShow: Boolean);
var
  msg: TElMessageDemo;
begin
  inherited;
  if (Node = nil) or (not bShow) then
    exit;

  if Node.Locked or (Node.TagObj = nil) or not (Node.TagObj is TElMessageDemo) then
  begin
    lvMessageSentTime.Caption := '';
    lvMessageReceivedTime.Caption := '';
  end
  else
  begin
    msg := TElMessageDemo(Node.TagObj);
    lvMessageSentTime.Caption :=
      DateTimeToStr(msg.GetMessageSentTime);
    lvMessageReceivedTime.Caption :=
      DateTimeToStr(msg.GetMessageReceivedTime);
  end;

end;

initialization
  TfraMessage.RegisterClass(TfraMessage);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?