112 lines
2.9 KiB
Plaintext
112 lines
2.9 KiB
Plaintext
unit fODChangeEvtDisp;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
fAutoSz, StdCtrls, ORFn, ExtCtrls, ORCtrls, VA508AccessibilityManager;
|
|
|
|
type
|
|
TfrmChangeEventDisp = class(TfrmAutoSz)
|
|
lblTop: TMemo;
|
|
pnlTop: TPanel;
|
|
lstCVOrders: TCaptionListBox;
|
|
pnlBottom: TPanel;
|
|
cmdOK: TButton;
|
|
cmdCancel: TButton;
|
|
procedure lstCVOrdersDrawItem(Control: TWinControl; Index: Integer;
|
|
Rect: TRect; State: TOwnerDrawState);
|
|
procedure lstCVOrdersMeasureItem(Control: TWinControl; Index: Integer;
|
|
var AHeight: Integer);
|
|
procedure cmdOKClick(Sender: TObject);
|
|
procedure cmdCancelClick(Sender: TObject);
|
|
private
|
|
FOKPressed: boolean;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
function DispOrdersForEventChange(AnOrderList: TList; ACap: string): boolean;
|
|
|
|
implementation
|
|
|
|
{$R *.DFM}
|
|
uses rOrders;
|
|
|
|
function DispOrdersForEventChange(AnOrderList: TList; ACap: string): boolean;
|
|
var
|
|
frmChangeEventDisp: TfrmChangeEventDisp;
|
|
i: integer;
|
|
AnOrder: TOrder;
|
|
begin
|
|
frmChangeEventDisp := TFrmChangeEventDisp.Create(Application);
|
|
frmChangeEventDisp.lblTop.Text := ACap;
|
|
frmChangeEventDisp.lstCVOrders.Caption := ACap;
|
|
for i := 0 to AnOrderList.Count - 1 do
|
|
begin
|
|
AnOrder := TOrder(AnOrderList[i]);
|
|
frmChangeEventDisp.lstCVOrders.Items.Add(AnOrder.Text);
|
|
end;
|
|
frmChangeEventDisp.ShowModal;
|
|
Result := frmChangeEventDisp.FOKPressed;
|
|
end;
|
|
|
|
procedure TfrmChangeEventDisp.lstCVOrdersDrawItem(Control: TWinControl;
|
|
Index: Integer; Rect: TRect; State: TOwnerDrawState);
|
|
var
|
|
x: string;
|
|
ARect: TRect;
|
|
begin
|
|
inherited;
|
|
x := '';
|
|
ARect := Rect;
|
|
with lstCVOrders do
|
|
begin
|
|
Canvas.FillRect(ARect);
|
|
Canvas.Pen.Color := Get508CompliantColor(clSilver);
|
|
Canvas.MoveTo(0, ARect.Bottom - 1);
|
|
Canvas.LineTo(ARect.Right, ARect.Bottom - 1);
|
|
if Index < Items.Count then
|
|
begin
|
|
x := Items[Index];
|
|
DrawText(Canvas.handle, PChar(x), Length(x), ARect, DT_LEFT or DT_NOPREFIX or DT_WORDBREAK);
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
|
|
procedure TfrmChangeEventDisp.lstCVOrdersMeasureItem(Control: TWinControl;
|
|
Index: Integer; var AHeight: Integer);
|
|
var
|
|
x:string;
|
|
ARect: TRect;
|
|
begin
|
|
inherited;
|
|
AHeight := MainFontHeight + 3;
|
|
with lstCVOrders do if Index < Items.Count then
|
|
begin
|
|
x := Items[index];
|
|
ARect := ItemRect(Index);
|
|
AHeight := DrawText(Canvas.Handle, PChar(x), Length(x), ARect,
|
|
DT_CALCRECT or DT_LEFT or DT_NOPREFIX or DT_WORDBREAK) + 2;
|
|
if AHeight > 255 then AHeight := 255;
|
|
if AHeight < 13 then AHeight := 13;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmChangeEventDisp.cmdOKClick(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
FOKPressed := True;
|
|
Close;
|
|
end;
|
|
|
|
procedure TfrmChangeEventDisp.cmdCancelClick(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
FOKPressed := False;
|
|
Close;
|
|
end;
|
|
|
|
end.
|