Changeset 76 for trunk/UMenu.pas
- Timestamp:
- May 18, 2021, 10:25:20 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UMenu.pas
r68 r76 25 25 procedure Paint(Canvas: TCanvas; P: TPoint); virtual; 26 26 function GetOutputText: string; virtual; 27 constructor Create; 27 constructor Create; virtual; 28 28 end; 29 29 … … 47 47 Index: Integer; 48 48 States: TStringList; 49 constructor Create; 49 constructor Create; override; 50 50 destructor Destroy; override; 51 51 procedure Paint(Canvas: TCanvas; P: TPoint); override; … … 62 62 procedure Paint(Canvas: TCanvas; P: TPoint); override; 63 63 property OnClick: TNotifyEvent read FOnClick write FOnClick; 64 end; 65 66 { TMenuItemImage } 67 68 TMenuItemImage = class(TMenuItem) 69 private 70 FOnClick: TNotifyEvent; 71 public 72 Bitmap: TBitmap; 73 procedure Paint(Canvas: TCanvas; P: TPoint); override; 74 property OnClick: TNotifyEvent read FOnClick write FOnClick; 75 constructor Create; override; 76 destructor Destroy; override; 64 77 end; 65 78 … … 105 118 implementation 106 119 120 { TMenuItemImage } 121 122 procedure TMenuItemImage.Paint(Canvas: TCanvas; P: TPoint); 123 begin 124 if Selected then Canvas.Brush.Color := BackgroundSelectedColor 125 else Canvas.Brush.Color := BackgroundColor; 126 if Canvas.Brush.Color = clNone then Canvas.Brush.Style := bsClear 127 else Canvas.Brush.Style := bsSolid; 128 Canvas.StretchDraw(Bounds, Bitmap); 129 end; 130 131 constructor TMenuItemImage.Create; 132 begin 133 inherited; 134 Bitmap := TBitmap.Create; 135 end; 136 137 destructor TMenuItemImage.Destroy; 138 begin 139 FreeAndNil(Bitmap); 140 inherited; 141 end; 142 107 143 { TMenuItemButton } 108 144 … … 155 191 constructor TMenuItemComboBox.Create; 156 192 begin 193 inherited; 157 194 States := TStringList.Create; 158 195 end; … … 160 197 destructor TMenuItemComboBox.Destroy; 161 198 begin 162 States.Free;199 FreeAndNil(States); 163 200 inherited; 164 201 end;
Note:
See TracChangeset
for help on using the changeset viewer.