123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- unit Rings;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, JvOutlookBar, JvDockControlForm, JvExControls,
- ExtCtrls, JvNavigationPane, JvJVCLUtils, JvComponent;
- type
- TfrmRings = class(TForm)
- jvRings: TJvOutlookBar;
- JvDockClient1: TJvDockClient;
- procedure jvRingsCustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; AStage: TJvOutlookBarCustomDrawStage; AIndex: Integer; ADown, AInside: Boolean; var DefaultDraw: Boolean);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- frmRings: TfrmRings;
- implementation
- {$R *.dfm}
- procedure TfrmRings.jvRingsCustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; AStage: TJvOutlookBarCustomDrawStage; AIndex: Integer; ADown, AInside: Boolean; var DefaultDraw: Boolean);
- begin
- DefaultDraw := False;
- case AStage of
- odsBackground:
- GradientFillRect(ACanvas, ARect, clBtnFace, clBtnFace, fdTopToBottom, 255);
- odsPage:
- GradientFillRect(ACanvas,ARect, clWhite, clWhite, fdTopToBottom, 255);
- odsPageButton:
- begin
- GradientFillRect(ACanvas,ARect, clBtnFace, clBtnFace, fdTopToBottom, 255);
- if ADown then
- OffsetRect(ARect,1,1);
- Frame3D(ACanvas, ARect, clBtnHighlight, clBtnShadow, 2);
- ACanvas.Font.Color := clBlack;
- DrawText(ACanvas.Handle, PChar(' '+jvRings.Pages[AIndex].Caption), Length(jvRings.Pages[AIndex].Caption)+1, ARect, DT_SINGLELINE or DT_VCENTER or DT_LEFT);
- end;
- odsButton:
- begin
- ACanvas.Font.Color := clBlack;
- DrawText(ACanvas.Handle, PChar(' '+jvRings.ActivePage.Buttons[AIndex].Caption), Length(jvRings.ActivePage.Buttons[AIndex].Caption)+1, ARect, DT_SINGLELINE or DT_VCENTER or DT_LEFT or DT_MODIFYSTRING or DT_END_ELLIPSIS);
- end;
- odsButtonFrame:
- begin
- ACanvas.Brush.Color := clNavy;
- ACanvas.FrameRect(ARect);
- InflateRect(ARect,-1,-1);
- if ADown then
- ACanvas.Brush.Color := clWhite;
- ACanvas.FrameRect(ARect);
- end;
- end;
- end;
- end.
|