Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FMX: TComboBox MouseWheel ausschalten (https://www.delphipraxis.net/187849-fmx-tcombobox-mousewheel-ausschalten.html)

luisk 8. Jan 2016 16:26

FMX: TComboBox MouseWheel ausschalten
 
Wie kann man bei TComboBox MouseWheel ausschalten?
Das hier scheint nicht zu funktionieren:
Delphi-Quellcode:
procedure TForm1.ComboBox1MouseWheel ( Sender: TObject; Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean);
begin
    Handled:=true;
end;

Harry Stahl 8. Jan 2016 18:52

AW: FMX: TComboBox MouseWheel ausschalten
 
Verschiedene Komponenten (z.B. TListBox, TMemo) haben die Option "DisableMouseWheel", womit Du die Behandlung des Wheel-Events abschalten kannst.

Die TComboBox hat das leider nicht.

Im TCustomScrollbox.MouseWheel-Event (Unit FMX.Layouts) kannst Du Dir ansehen, wie das z.B. bei der TListBox ausgeschaltet wird.

Vielleicht gibt Dir das ja eine Idee für irgendeine eigene Ableitung oder einen Hack...:wink:

luisk 8. Jan 2016 19:45

AW: FMX: TComboBox MouseWheel ausschalten
 
z.B. so: :glaskugel:
Delphi-Quellcode:
type
CL_ComboBox = class ( TComboBox )
       :
//---------------------------------------------------------------------------
procedure CL_ComboBox.on_Change(Sender: TObject);
begin
   if bl_mouse_wheel then begin
      ItemIndex := Item_Index;
      bl_mouse_wheel := false;
   end else begin
      Item_Index := ItemIndex;
   end;
end;
//---------------------------------------------------------------------------
procedure CL_ComboBox.on_MouseWheel ( Sender: TObject;
                                       Shift: TShiftState;
                                       WheelDelta: Integer;
                                   var Handled: Boolean );
begin
   Handled := true;
   bl_mouse_wheel := bl_no_mouse_wheel;
end;
//----------------------------------------------------------------------------


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz