Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Probleme mit TDBLookupListBox und Mausrad (scrollen) (https://www.delphipraxis.net/60708-probleme-mit-tdblookuplistbox-und-mausrad-scrollen.html)

Beg 11. Jan 2006 11:34

Datenbank: Oracle • Version: 8.1.7 • Zugriff über: DOA

Probleme mit TDBLookupListBox und Mausrad (scrollen)
 
Hallo,

kann man in einer TDBLookupListBox mit dem Mausrad scrollen?
Bei mir hat das Mausrad bei der TDBLookupListBox keine Funktion, bei der TComboBox kann ich es verwenden.

Gruß Beg

marabu 11. Jan 2006 13:53

Re: Probleme mit TDBLookupListBox und Mausrad (scrollen)
 
Hallo,

Zitat:

Zitat von Beg
kann man in einer TDBLookupListBox mit dem Mausrad scrollen?

aber sicher kann man das:

Delphi-Quellcode:
type
  TDemoForm = class(TForm)
    DBLookupListBox: TDBLookupListBox;
    procedure FormCreate(Sender: TObject);
  private
    procedure DBLookupListBoxMouseWheelDown(Sender: TObject;
      Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
    procedure DBLookupListBoxMouseWheelUp(Sender: TObject;
      Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
  end;
implementation

type
  THackedDBLookupListBox = class(TDBLookupListBox);

procedure TDemoForm.FormCreate(Sender: TObject);
begin
  with THackedDBLookupListBox(DBLookupListBox) do
  begin
    OnMouseWheelDown := DBLookupListBoxMouseWheelDown;
    OnMouseWheelUp := DBLookupListBoxMouseWheelUp;
  end;
end;

procedure TDemoForm.DBLookupListBoxMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  with Sender as TDBLookupListBox do
  begin
    DataSource.Edit;
    ListSource.DataSet.MoveBy(1);
    DataSource.DataSet.FieldValues[DataField] := ListSource.DataSet.FieldValues[KeyField];
  end;
  Handled := true;
end;

procedure TDemoForm.DBLookupListBoxMouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  with Sender as TDBLookupListBox do
  begin
    DataSource.Edit;
    ListSource.DataSet.MoveBy(-1);
    DataSource.DataSet.FieldValues[DataField] := ListSource.DataSet.FieldValues[KeyField];
  end;
  Handled := true;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 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