Rings.pas 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. unit Rings;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, JvOutlookBar, JvDockControlForm, JvExControls,
  6. ExtCtrls, JvNavigationPane, JvJVCLUtils, JvComponent;
  7. type
  8. TfrmRings = class(TForm)
  9. jvRings: TJvOutlookBar;
  10. JvDockClient1: TJvDockClient;
  11. procedure jvRingsCustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; AStage: TJvOutlookBarCustomDrawStage; AIndex: Integer; ADown, AInside: Boolean; var DefaultDraw: Boolean);
  12. private
  13. { Private declarations }
  14. public
  15. { Public declarations }
  16. end;
  17. var
  18. frmRings: TfrmRings;
  19. implementation
  20. {$R *.dfm}
  21. procedure TfrmRings.jvRingsCustomDraw(Sender: TObject; ACanvas: TCanvas; ARect: TRect; AStage: TJvOutlookBarCustomDrawStage; AIndex: Integer; ADown, AInside: Boolean; var DefaultDraw: Boolean);
  22. begin
  23. DefaultDraw := False;
  24. case AStage of
  25. odsBackground:
  26. GradientFillRect(ACanvas, ARect, clBtnFace, clBtnFace, fdTopToBottom, 255);
  27. odsPage:
  28. GradientFillRect(ACanvas,ARect, clWhite, clWhite, fdTopToBottom, 255);
  29. odsPageButton:
  30. begin
  31. GradientFillRect(ACanvas,ARect, clBtnFace, clBtnFace, fdTopToBottom, 255);
  32. if ADown then
  33. OffsetRect(ARect,1,1);
  34. Frame3D(ACanvas, ARect, clBtnHighlight, clBtnShadow, 2);
  35. ACanvas.Font.Color := clBlack;
  36. DrawText(ACanvas.Handle, PChar(' '+jvRings.Pages[AIndex].Caption), Length(jvRings.Pages[AIndex].Caption)+1, ARect, DT_SINGLELINE or DT_VCENTER or DT_LEFT);
  37. end;
  38. odsButton:
  39. begin
  40. ACanvas.Font.Color := clBlack;
  41. 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);
  42. end;
  43. odsButtonFrame:
  44. begin
  45. ACanvas.Brush.Color := clNavy;
  46. ACanvas.FrameRect(ARect);
  47. InflateRect(ARect,-1,-1);
  48. if ADown then
  49. ACanvas.Brush.Color := clWhite;
  50. ACanvas.FrameRect(ARect);
  51. end;
  52. end;
  53. end;
  54. end.