unit tpPartTenderFme; interface uses tpPartTender, tpPeg_GclFme, tpPegGclGatherFme, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, ExtCtrls, XPMenu, JimPages, StdCtrls, JimLabels; const sPartResult = ' 桩号%s相关清单试算结果:范围内清单总金额%f,其他相关清单总金额%f'; type TtpPartTenderFrame = class(TFrame) pnlResult: TPanel; tbResult: TToolBar; tobtnInPegs: TToolButton; tobtnRelaPegs: TToolButton; xpm: TXPMenu; jpsPartTender: TJimPages; jpsPartTenderInPegs: TJimPage; jpsPartTenderRelaPegs: TJimPage; labResult: TJimGradLabel; tobtnInGcls: TToolButton; jpsPartTenderInGcls: TJimPage; procedure tobtnInPegsClick(Sender: TObject); private FPartTenderData: TtpPartTender; FInPegFrame: TtpPeg_GclFrame; FInGclGatherFrame: TtpPegGclGatherFrame; FRelaPegFrame: TtpPeg_GclFrame; procedure SetPartTenderData(const Value: TtpPartTender); public constructor Create; destructor Destroy; override; procedure RefreshResult; property PartTenderData: TtpPartTender read FPartTenderData write SetPartTenderData; end; implementation uses UtilMethods; {$R *.dfm} { TtpPartTenderFrame } constructor TtpPartTenderFrame.Create; begin inherited Create(nil); FInPegFrame := TtpPeg_GclFrame.Create(nil); AlignControl(FInPegFrame, jpsPartTenderInPegs, alClient); FInGclGatherFrame := TtpPegGclGatherFrame.Create(nil); AlignControl(FInGclGatherFrame, jpsPartTenderInGcls, alClient); FRelaPegFrame := TtpPeg_GclFrame.Create(nil); AlignControl(FRelaPegFrame, jpsPartTenderRelaPegs, alClient); end; destructor TtpPartTenderFrame.Destroy; begin FRelaPegFrame.Free; FInPegFrame.Free; inherited; end; procedure TtpPartTenderFrame.RefreshResult; begin labResult.Caption := Format(sPartResult, [FPartTenderData.BeginPeg+'~'+FPartTenderData.EndPeg, FPartTenderData.TotalPrice, FPartTenderData.RelaTotalPrice]); labResult.Visible := ((FPartTenderData.InPegCount > 0) or (FPartTenderData.RelaPegCount > 0)); end; procedure TtpPartTenderFrame.SetPartTenderData(const Value: TtpPartTender); begin FPartTenderData := Value; if Assigned(FPartTenderData) then begin FInPegFrame.Peg_GclData := FPartTenderData.InPegData; FInGclGatherFrame.PegGclGatherData := FPartTenderData.InGclGatherData; FRelaPegFrame.Peg_GclData := FPartTenderData.RelaPegData; RefreshResult; end; end; procedure TtpPartTenderFrame.tobtnInPegsClick(Sender: TObject); begin tobtnInPegs.Down := tobtnInPegs.Tag = TToolButton(Sender).Tag; tobtnInGcls.Down := tobtnInGcls.Tag = TToolButton(Sender).Tag; tobtnRelaPegs.Down := tobtnRelaPegs.Tag = TToolButton(Sender).Tag; jpsPartTender.ActivePageIndex := TToolButton(Sender).Tag; end; end.