![]() |
Datenbank: Access • Version: 2003 • Zugriff über: ADO
DBLookupCombo: Gibt´s was Besseres?
Hi!
Ich wollte "mal schnell" ... und jetzt hänge ich schon einen halben Tag durch: Ich suche eine DBLookupCombo mit folgenden Fähigkeiten:
Da ich kein begandeter Komponenten-Bastler bin, aber - solange es im Rahmen bleibt - zahlwillig, bin ich gleichermaßen für Kaufkomponenten empfänglich (wenn es keine alternative dazu gibt, natürlich). Jeder Tipp ist willkommen. Norbert |
Re: DBLookupCombo: Gibt´s was Besseres?
Also, warum MouseWheel in DBLookupCombo nicht implementiert ist, ist mir auch nicht klar.
Wieder typisch Borland, einfach vergessen, :mrgreen: aber an dem solls nicht scheitern. Der DBGrid reagiert auf das MausRad, also dort (mit leichter Modifikation) abgekupfert.
Delphi-Quellcode:
Damit hätten wir mal das MouseWheel. :spin:
unit DBLookupComboBoxEx;
interface uses Windows, SysUtils, Classes, Controls, Messages, DBCtrls, Types; type TDBLookupComboBoxEx = class(TDBLookupComboBox) private protected function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override; function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override; public published property OnMouseWheelDown; property OnMouseWheelUp; end; procedure Register; implementation procedure Register; begin RegisterComponents('XPCtrls', [TDBLookupComboBoxEx]); end; { TDBLookupComboBoxEx } function TDBLookupComboBoxEx.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; begin Result := False; if Assigned(OnMouseWheelDown) then OnMouseWheelDown(Self, Shift, MousePos, Result); if (not Result) and (ListSource.DataSet.Active) then begin Perform(WM_KEYDOWN, VK_DOWN, 0); // Tastaturereignis wird der ComboBox untergejubelt // ListSource.DataSet.MoveBy(1); // Originalzeile aus DBGrid Result := True; end; end; function TDBLookupComboBoxEx.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; begin Result := False; if Assigned(OnMouseWheelUp) then OnMouseWheelUp(Self, Shift, MousePos, Result); if (not Result) and (ListSource.DataSet.Active) then begin Perform(WM_KEYDOWN, VK_UP, 0); // Tastaturereignis wird der ComboBox untergejubelt // ListSource.DataSet.MoveBy(-1); // Originalzeile aus DBGrid Result := True; end; end; end. Edit: Bei der DBLookupListBox isses natürlich genauso :mrgreen:, also weitere Compos erzeugen :coder: |
Re: DBLookupCombo: Gibt´s was Besseres?
Zitat:
Das mit dem Lookup / Neu kann ich evtl. mit einer etwas anderen Bedienung realisieren (man muss halt einen button anklicken, um einen neuen Eintrag anzuhängen). Wobei ich weiterhin gespannt bin, wie das weitergeht; dass hier mal schnell eine passende Komponente entstehen könnte, hatte ich zugegebenermaßen nicht erwartet. Hatte ich mich eigentlich schon bedankt? ;) |
Re: DBLookupCombo: Gibt´s was Besseres?
Gern geschehen ! :wink:
Zitat:
Jedoch lässt die DBLookUpComboBox IMHO nur Eingabewerte zu, die in der Lookup-Datenmenge vorhanden sind. Oder bin ich da auf dem Holzweg :?: |
Re: DBLookupCombo: Gibt´s was Besseres?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz