AGB  ·  Datenschutz  ·  Impressum  







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

Steuerung der Scroll Mouse

Ein Thema von alfred · begonnen am 27. Aug 2004 · letzter Beitrag vom 30. Aug 2004
Antwort Antwort
alfred

Registriert seit: 17. Mai 2004
31 Beiträge
 
#1

Steuerung der Scroll Mouse

  Alt 27. Aug 2004, 10:47
Hallo Leute,

ich habe ein Formular mit einem vertikalen Scroll - Balken. Auf dem Formular befinden sich eine ganze Menge ComboBoxen. Wenn ich das Scroll - Rad der Muse betätige, dann wird der Fokus den Boxen in der Tabulatorreihenfolge zugewiesen. In der letzten, angezeigten Box bleibt der Fokus stehen und die Scroll - Funktion blättert in den Items der Box. Gibt es eine Möglichkeit, dass die Scrollfunktion des Mouse - Rades nur das Scrollen des Formulares hoch oder runter bewirkt. Also dass beim Scrollen nicht die Komponenten des Formulares betrofeen sind.
Ich hoffe, dass ich das verständlich formuliert habe.

Vielen Dank im voraus.

Gruß alfred
  Mit Zitat antworten Zitat
Benutzerbild von FastJack2
FastJack2

Registriert seit: 22. Mär 2004
Ort: Lübeck
54 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Steuerung der Scroll Mouse

  Alt 27. Aug 2004, 11:08
Hy,

klar gibt es die Möglichkeit ;)
leite dir eine Klasse von der Combobox ab und fange die Mouswheel message ab.
die dann einfach an deine Form weiterleiten und fertig ;)

greetz
-FastJack2
wo unrecht zu recht wird, wird widerstand zur pflicht ! (c) '98 - WoF board
  Mit Zitat antworten Zitat
27. Aug 2004, 19:54
Dieses Thema wurde von "Christian Seehase" von "Windows 9x / ME / 2000 / XP / 2003" nach "VCL-Komponenten und Controls" verschoben.
Ein Delphi Problem
alfred

Registriert seit: 17. Mai 2004
31 Beiträge
 
#4

Re: Steuerung der Scroll Mouse

  Alt 30. Aug 2004, 07:42
Hi Leute.

Der von FastJack vorgeschlagene Weg ist sicher theortisch machbar. Ich habe aber eine andere Variante gewählt, die mir als günstiger erscheint. Im Forum existiert ein Artikel von APP. Der wiederum zitiert einen Artikel von Peter Below - und genau der ist die Basis für die Lösung. Nach Herausnahme des Bezuges zu einer konkreten Komponente ergibt sich der folgende Code :

Delphi-Quellcode:
procedure TFormularname.FormMouseWheel(Sender: TObject; Shift: TShiftState;
                                   WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
Var msg, code : Cardinal;
    i, n : Integer;
begin
  Handled := true;
  If ssShift In Shift Then msg := WM_HSCROLL Else msg := WM_VSCROLL;
  If WheelDelta < 0 Then code := SB_LINEUP Else code := SB_LINEDOWN;
  n:= Mouse.WheelScrollLines;
  For i:= 1 to n Do
    Formularname.Perform( msg, code, 0 );
  Formularname.Perform( msg, SB_ENDSCROLL, 0 );
end;
So sollte es gehen.

Gruß alfred
  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:36 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