Hallo, ich habe eine Frage bezüglich der SpinEdit und FloatSpinEdit-Komponente. Steht der Mauszeiger auf diesen Komponenten in einer Form, kann man mit dem Scrollrad die Werte verändern. Dies mag zwar zuweilen recht angenehm sein, ist aber manchmal auch fatal.
Wie kann man das abschalten, ich habe keine Möglichkeit dazu gefunden.
Vielen Dank schon mal im Voraus für Eure Hilfe
			
			
									
									
						TSpinEdit Mausrad abschalten
- 
				KOBOLD Messring GmbH
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
Re: TSpinEdit Mausrad abschalten
Hallo,
Du kannst jeweils eine Klasse der beiden Steuerelemente ableiten und die Eigenschaft OnMouseWheel veröffentlichen.
Grüße Nouba
			
			
									
									
						Du kannst jeweils eine Klasse der beiden Steuerelemente ableiten und die Eigenschaft OnMouseWheel veröffentlichen.
Code: Alles auswählen
unit uSampleForm;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Spin;
 
type
 
  { TNoWheelSpinEdit }
 
  TNoWheelSpinEdit = class(TSpinEdit)
  published
    property OnMouseWheel;
  private
    procedure DisableSpinning(Sender: TObject; Shift: TShiftState;
      WheelDelta: integer; MousePos: TPoint; var Handled: boolean);
  end;
 
  { TNoWheelFloatSpinEdit }
 
  TNoWheelFloatSpinEdit = class(TFloatSpinEdit)
  published
    property OnMouseWheel;
  private
    procedure DisableSpinning(Sender: TObject; Shift: TShiftState;
      WheelDelta: integer; MousePos: TPoint; var Handled: boolean);
  end;
 
  { TSampleForm }
 
  TSampleForm = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
    FNWSpinEdit: TNoWheelSpinEdit;
    FNWFSpinEdit: TNoWheelFloatSpinEdit;
  end;
 
var
  SampleForm: TSampleForm;
 
implementation
 
{ TNoWheelFloatSpinEdit }
 
procedure TNoWheelFloatSpinEdit.DisableSpinning(Sender: TObject;
  Shift: TShiftState; WheelDelta: integer; MousePos: TPoint;
  var Handled: boolean);
begin
  {** disable Spinning with Mouse Wheel**}
  Handled := True;
end;
 
{ TNoWheelSpinEdit }
 
procedure TNoWheelSpinEdit.DisableSpinning(Sender: TObject;
  Shift: TShiftState; WheelDelta: integer; MousePos: TPoint;
  var Handled: boolean);
begin
  {** disable Spinning with Mouse Wheel**}
  Handled := True;
end;
 
{$R *.lfm}
 
{ TSampleForm }
 
procedure TSampleForm.FormCreate(Sender: TObject);
begin
  FNWSpinEdit := TNoWheelSpinEdit.Create(Self);
  with FNWSpinEdit do
  begin
    Left := 8;
    Top := 8;
    Width := 50;
    Height := 23;
    Parent := Self;
    OnMouseWheel := @DisableSpinning;
  end;
 
  FNWFSpinEdit := TNoWheelFloatSpinEdit.Create(Self);
  with FNWFSpinEdit do
  begin
    Left := 64;
    Top := 8;
    Width := 50;
    Height := 23;
    Parent := Self;
    OnMouseWheel := @DisableSpinning;
  end;
end;
 
end.- 
				KOBOLD Messring GmbH
- Beiträge: 155
- Registriert: Mi 22. Aug 2007, 14:52
- OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 65719 Hofheim am Taunus
- Kontaktdaten:
Re: TSpinEdit Mausrad abschalten
Vielen Dank Nouba, werde ich gleich ausprobieren!
			
			
									
									
						 Verein
Verein 
 Links
Links Suche
Suche