| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 | unit OtherMeasureFme;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, JimPages, XPMenu, ComCtrls, ToolWin, ExtCtrls, sdGridDBA, ZJGrid,  ProjectData;type  TOtherMeasureFrame = class(TFrame)    pnlRelaXmjType: TPanel;    tbToolsButton: TToolBar;    tobtnPhase: TToolButton;    tobtnOnce: TToolButton;    xpm: TXPMenu;    pnlOtherMeasure: TPanel;    jpsOtherMeasure: TJimPages;    jpsOtherMeasurePhase: TJimPage;    jpsOtherMeasureOnce: TJimPage;    zgPhase: TZJGrid;    zgOnce: TZJGrid;    saOnce: TsdGridDBA;    saPhase: TsdGridDBA;    procedure tobtnPhaseClick(Sender: TObject);    procedure zgPhaseKeyDown(Sender: TObject; var Key: Word;      Shift: TShiftState);    procedure zgPhaseCellGetColor(Sender: TObject; ACoord: TPoint;      var AColor: TColor);  private    FProjectData: TProjectData;    { Private declarations }  public    constructor Create(AProjectData: TProjectData);    destructor Destroy; override;    procedure ResetViewControl;  end;implementationuses  OtherMeasurePhaseDm, sdDB;{$R *.dfm}constructor TOtherMeasureFrame.Create(AProjectData: TProjectData);begin  inherited Create(nil);  FProjectData := AProjectData;  saPhase.DataView := FProjectData.OtherMeasurePhaseData.sdvPhase;  saOnce.DataView := FProjectData.OtherMeasureOnceData.sdvOnce;end;destructor TOtherMeasureFrame.Destroy;begin  inherited;end;procedure TOtherMeasureFrame.ResetViewControl;begin  saPhase.Columns.ColumnByName('CurTotalPrice').ReadOnly := TProjectData(FProjectData).StageDataReadOnly;  if TProjectData(FProjectData).AllowInsert then    saPhase.Options := [aoAllowInsert, aoAllowEdit, aoAllowDelete, aoAutoInsert, aoAllowUpMove, aoAllowDownMove]  else    saPhase.Options := [];end;procedure TOtherMeasureFrame.tobtnPhaseClick(Sender: TObject);begin  jpsOtherMeasure.ActivePageIndex := TToolButton(Sender).Tag;  tobtnPhase.Down := tobtnPhase.Tag = TToolButton(Sender).Tag;  tobtnOnce.Down := tobtnOnce.Tag = TToolButton(Sender).Tag;end;procedure TOtherMeasureFrame.zgPhaseKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);begin  if (ssCtrl in Shift) and (ssShift in Shift) and (ssAlt in Shift)      and (Key in [68, 100]) then // 'd', 'D'  begin    with FProjectData.OtherMeasurePhaseData do      FilterDeletedRec := not FilterDeletedRec;  end;end;procedure TOtherMeasureFrame.zgPhaseCellGetColor(Sender: TObject;  ACoord: TPoint; var AColor: TColor);var  Rec: TsdDataRecord;begin  Rec := saPhase.DataView.Records[ACoord.Y-1];  if Assigned(Rec) and Rec.ValueByName('Deleted').AsBoolean then    AColor := $00D5D5D5  else    AColor := clWindow;end;end.
 |