AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FMX: TComboBox MouseWheel ausschalten

Ein Thema von luisk · begonnen am 8. Jan 2016 · letzter Beitrag vom 8. Jan 2016
Antwort Antwort
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#1

FMX: TComboBox MouseWheel ausschalten

  Alt 8. Jan 2016, 17:26
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;

Geändert von luisk ( 8. Jan 2016 um 19:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FMX: TComboBox MouseWheel ausschalten

  Alt 8. Jan 2016, 19:52
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...
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#3

AW: FMX: TComboBox MouseWheel ausschalten

  Alt 8. Jan 2016, 20:45
z.B. so:
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;
//----------------------------------------------------------------------------

Geändert von luisk ( 9. Jan 2016 um 19:49 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 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