Changeset 14 for os/trunk/Xvcl/Xvcl.Controls.pas
- Timestamp:
- Feb 29, 2016, 5:23:37 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
os/trunk/Xvcl/Xvcl.Controls.pas
r13 r14 33 33 States: TKeyStateSet; 34 34 end; 35 36 TMouseNotifyEvent = procedure (Sender: TObject; Position: TPoint; 37 Buttons: TMouseButtonSet) of object; 35 38 36 39 TControlCanvas = class(TCanvas) … … 57 60 FOnClick: TNotifyEvent; 58 61 FColor: TColor; 59 FOnMouseDown: TNotifyEvent; 60 FOnMouseUp: TNotifyEvent; 62 FOnMouseDown: TMouseNotifyEvent; 63 FOnMouseUp: TMouseNotifyEvent; 64 FOnMouseMove: TMouseNotifyEvent; 61 65 FOnKeyPress: TNotifyEvent; 62 66 FFocused: Boolean; … … 69 73 function HandleMessage(Message: TMessage): Boolean; virtual; 70 74 public 71 Move: TControlMove;72 75 function ClientToScreen(Position: TPoint): TPoint; virtual; 73 76 function ScreenToClient(Position: TPoint): TPoint; virtual; … … 83 86 property Focused: Boolean read FFocused write SetFocused; 84 87 property OnClick: TNotifyEvent read FOnClick write FOnClick; 85 property OnMouseDown: TNotifyEvent read FOnMouseDown write FOnMouseDown; 86 property OnMouseUp: TNotifyEvent read FOnMouseUp write FOnMouseUp; 88 property OnMouseDown: TMouseNotifyEvent read FOnMouseDown write FOnMouseDown; 89 property OnMouseUp: TMouseNotifyEvent read FOnMouseUp write FOnMouseUp; 90 property OnMouseMove: TMouseNotifyEvent read FOnMouseMove write FOnMouseMove; 87 91 property OnKeyPress: TNotifyEvent read FOnKeyPress write FOnKeyPress; 88 92 end; … … 119 123 procedure Paint; override; 120 124 property Caption: string read FCaption write SetCaption; 125 constructor Create; override; 121 126 end; 122 127 … … 147 152 begin 148 153 inherited; 149 Move := TControlMove.Create;150 154 FColor := clWhite; 151 155 end; … … 153 157 destructor TControl.Destroy; 154 158 begin 155 Move.Destroy;156 159 if Assigned(FCanvas) then FCanvas.Destroy; 157 160 inherited; … … 176 179 begin 177 180 Result := False; 181 if Message is TMessageMouseDown then 182 with TMessageMouseDown(Message) do begin 183 if Assigned(FOnMouseDown) then begin 184 FOnMouseDown(Self, Position, Buttons); 185 Result := True; 186 end; 187 end else 188 if Message is TMessageMouseUp then 189 with TMessageMouseUp(Message) do begin 190 if Assigned(FOnMouseUp) then begin 191 FOnMouseUp(Self, Position, Buttons); 192 Result := True; 193 end; 194 end else 195 if Message is TMessageMouseMove then 196 with TMessageMouseMove(Message) do begin 197 if Assigned(FOnMouseMove) then begin 198 FOnMouseMove(Self, Position, Buttons); 199 Result := True; 200 end; 201 end; 178 202 end; 179 203 180 204 procedure TControl.Paint; 181 205 begin 206 if Color <> clNone then 182 207 with Canvas do begin 183 208 Brush.Color := Color; … … 189 214 begin 190 215 Result := Position.Substract(Bounds.TopLeft); 191 if Assigned(Parent) then Result := Parent. ClientToScreen(Result);216 if Assigned(Parent) then Result := Parent.ScreenToClient(Result); 192 217 end; 193 218 … … 220 245 begin 221 246 Result := False; 222 if Message is TMessageMouseDown then begin 223 if Assigned(FOnMouseDown) then FOnMouseDown(Self); 247 if Message is TMessageMouseDown then 248 with TMessageMouseDown(Message) do begin 249 if Assigned(FOnMouseDown) then FOnMouseDown(Self, Position, Buttons); 224 250 Color := clGray; 225 251 Paint; 226 252 Result := True; 227 253 end else 228 if Message is TMessageMouseUp then begin 229 if Assigned(FOnMouseUp) then FOnMouseUp(Self); 254 if Message is TMessageMouseUp then 255 with TMessageMouseUp(Message) do begin 256 if Assigned(FOnMouseUp) then FOnMouseUp(Self, Position, Buttons); 230 257 Color := clSilver; 231 258 Paint; … … 321 348 end; 322 349 end; 350 if not Result then inherited; 323 351 end; 324 352 … … 332 360 333 361 { TLabel } 362 363 constructor TLabel.Create; 364 begin 365 inherited; 366 Color := clNone; 367 end; 334 368 335 369 procedure TLabel.Paint;
Note:
See TracChangeset
for help on using the changeset viewer.