home *** CD-ROM | disk | FTP | other *** search
/ PC World Plus! (NZ) 2001 June / HDC50.iso / Runimage / Delphi50 / Doc / BUTTONS.INT < prev    next >
Text File  |  1999-08-11  |  4KB  |  120 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {                                                       }
  6. {       Copyright (c) 1995,99 Inprise Corporation       }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit Buttons;
  11.  
  12. {$S-,W-,R-,H+,X+}
  13. {$C PRELOAD}
  14.  
  15. interface
  16.  
  17. uses Windows, Messages, Classes, Controls, Forms, Graphics, StdCtrls,
  18.   ExtCtrls, CommCtrl;
  19.     
  20. type
  21.   TButtonLayout = (blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom);
  22.   TButtonState = (bsUp, bsDisabled, bsDown, bsExclusive);
  23.   TButtonStyle = (bsAutoDetect, bsWin31, bsNew);
  24.   TNumGlyphs = 1..4;
  25.     
  26.   TSpeedButton = class(TGraphicControl)
  27.   protected
  28.     FState: TButtonState;
  29.     procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
  30.     function GetPalette: HPALETTE; override;
  31.     procedure Loaded; override;
  32.     procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
  33.       X, Y: Integer); override;
  34.     procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
  35.     procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
  36.       X, Y: Integer); override;
  37.     procedure Paint; override;
  38.     property MouseInControl: Boolean;
  39.   public
  40.     constructor Create(AOwner: TComponent); override;
  41.     destructor Destroy; override;
  42.     procedure Click; override;
  43.   published
  44.     property Action;
  45.     property AllowAllUp: Boolean default False;
  46.     property Anchors;
  47.     property BiDiMode;
  48.     property Constraints;
  49.     property GroupIndex: Integer default 0;
  50.     property Down: Boolean default False;
  51.     property Caption;
  52.     property Enabled;
  53.     property Flat: Boolean default False;
  54.     property Font;
  55.     property Glyph: TBitmap;
  56.     property Layout: TButtonLayout default blGlyphLeft;
  57.     property Margin: Integer default -1;
  58.     property NumGlyphs: TNumGlyphs default 1;
  59.     property ParentFont;
  60.     property ParentShowHint;
  61.     property ParentBiDiMode;
  62.     property PopupMenu;
  63.     property ShowHint;
  64.     property Spacing: Integer default 4;
  65.     property Transparent: Boolean default True;
  66.     property Visible;
  67.     property OnClick;
  68.     property OnDblClick;
  69.     property OnMouseDown;
  70.     property OnMouseMove;
  71.     property OnMouseUp;
  72.   end;
  73.     
  74.   TBitBtnKind = (bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose,
  75.     bkAbort, bkRetry, bkIgnore, bkAll);
  76.     
  77.   TBitBtn = class(TButton)
  78.   protected
  79.     procedure ActionChange(Sender: TObject; CheckDefaults: Boolean); override;
  80.     procedure CreateHandle; override;
  81.     procedure CreateParams(var Params: TCreateParams); override;
  82.     function GetPalette: HPALETTE; override;
  83.     procedure SetButtonStyle(ADefault: Boolean); override;
  84.   public
  85.     constructor Create(AOwner: TComponent); override;
  86.     destructor Destroy; override;
  87.     procedure Click; override;
  88.   published
  89.     property Action;
  90.     property Anchors;
  91.     property BiDiMode;
  92.     property Cancel stored IsCustom;
  93.     property Caption stored IsCustomCaption;
  94.     property Constraints;
  95.     property Default stored IsCustom;
  96.     property Enabled;
  97.     property Glyph: TBitmap;
  98.     property Kind: TBitBtnKind default bkCustom;
  99.     property Layout: TButtonLayout default blGlyphLeft;
  100.     property Margin: Integer default -1;
  101.     property ModalResult stored IsCustom;
  102.     property NumGlyphs: TNumGlyphs default 1;
  103.     property ParentShowHint;
  104.     property ParentBiDiMode;
  105.     property ShowHint;
  106.     property Style: TButtonStyle default bsAutoDetect;
  107.     property Spacing: Integer default 4;
  108.     property TabOrder;
  109.     property TabStop;
  110.     property Visible;
  111.     property OnEnter;
  112.     property OnExit;
  113.   end;
  114.     
  115. function DrawButtonFace(Canvas: TCanvas; const Client: TRect;
  116.   BevelWidth: Integer; Style: TButtonStyle; IsRounded, IsDown,
  117.   IsFocused: Boolean): TRect;
  118.     
  119. implementation
  120.