AGB  ·  Datenschutz  ·  Impressum  







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

Delphi-Version Grid Mausrad

Ein Thema von baumina · begonnen am 25. Nov 2014 · letzter Beitrag vom 26. Nov 2014
Antwort Antwort
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi-Version Grid Mausrad

  Alt 25. Nov 2014, 14:23
Seit welcher Delphi-Version wird eigentlich das Mausrad unterstützt, um z.B. in (DB)Grids zu scrollen? Kann es sein, dass das mein Delphi 2 noch nicht konnte oder war das nur noch nicht Standard?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi-Version Grid Mausrad

  Alt 25. Nov 2014, 14:48
Ich befürchte Mausräder wurden damals von kaum jemandem unterstützt. Das Rad gibt es seit 1995/96, Delphi 2 kam 1996 auf den Markt. Wenn man sich nun vergegenwärtigt, daß XE7 jetzt eingebaute Unterstützung für die Windows 7 Taskleiste erhalten hat....

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.250 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Delphi-Version Grid Mausrad

  Alt 26. Nov 2014, 09:05
wird das jetzt unterstützt ?

Ich mache das so, das geht seit Delphi 5 (getestet), Delphi 2 habe ich doch schon lange Entsorgt:

TApplicationEvents Komponente auf die Form, dann wandele ich die Drehrichtung in Cursor Up und down:

Code:
ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
var
    i: SmallInt;
begin
  if Msg.Message = WM_MOUSEWHEEL then begin
    Msg.Message := WM_KEYDOWN;
    Msg.lParam := 0;
    i := HiWord(Msg.wParam);
    if i > 0 then
        Msg.wParam := VK_UP
    else
        Msg.wParam := VK_DOWN;

    Handled := False;
  end;
end;
Dann wird das Mausrad von jeder Komponente unterstützt

Geändert von arnof (26. Nov 2014 um 09:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi-Version Grid Mausrad

  Alt 26. Nov 2014, 09:51
Du hast das doch behandelt (Ja=True), warum dann aber Handled := False; ?
Wenn jetzt in neueren Komponenten das plötzlich auch behandelt wird, dann würde doppelt gescrollt.

Und das mit dem Scrollen, es kann uch sein, daß Delphi da garnichts macht, sondern daß es vom Windows behandelt wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Nov 2014 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Delphi-Version Grid Mausrad

  Alt 26. Nov 2014, 10:21
Hab grad mal die alte Delphi2-Kiste angeworfen. Also WM_MOUSEWHEEL gabs da tatsächlich noch nicht. Auch TApplicationEvents gabs noch nicht.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi-Version Grid Mausrad

  Alt 26. Nov 2014, 10:34
TApplicationEvents ist relativ neu.

Damit man nicht immer auf die Application.On...-Events gehen muß, wo man auch nur Einwas zuweisen kann, was blöd ist, wenn da vorallem Fremdkomponenten gern mal drauf gehen.
ApplicationEvents1.OnMessage = Application.OnMessage
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.250 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Delphi-Version Grid Mausrad

  Alt 26. Nov 2014, 12:12
TApplicationEvents ist relativ neu.
Mindestens 15 Jahre in Delphi

Du hast das doch behandelt (Ja=True), warum dann aber Handled := False; ?
Wenn jetzt in neueren Komponenten das plötzlich auch behandelt wird, dann würde doppelt gescrollt.

Und das mit dem Scrollen, es kann uch sein, daß Delphi da garnichts macht, sondern daß es vom Windows behandelt wird.
Handled := False; ist ja gerade der Trick, da die Message auf KEY_UP bzw KEY_DOWN geändert wird und die dann von der Komponente verarbeitet wird:


Beispiel TMemo, da läuft dann der Cursor dann auch mit dem Mausrad.

Eine doppelte verarbeitung wird automatisch unterbunden, da TApplicationEvents zuerst die Message bekommt!

Geändert von arnof (26. Nov 2014 um 12:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#8

AW: Delphi-Version Grid Mausrad

  Alt 26. Nov 2014, 12:15
Stimmt, hab das irgendwie falsch gesehn ... du behandelst es ja nicht, sondern lässt es nur anders behandeln.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 01:10 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