AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Scrollbar: Slider-Taste zur Maus-klick position.
Thema durchsuchen
Ansicht
Themen-Optionen

Scrollbar: Slider-Taste zur Maus-klick position.

Ein Thema von Anakond · begonnen am 15. Nov 2012 · letzter Beitrag vom 16. Nov 2012
Antwort Antwort
Anakond

Registriert seit: 13. Okt 2007
23 Beiträge
 
#1

Scrollbar: Slider-Taste zur Maus-klick position.

  Alt 15. Nov 2012, 09:51
Delphi-Version: 6
Guten Tag,
Ist es möglich in einem Tscrollbar mit der Maustaste im slider zu klicken, sodass der Slider-Taste sofort in dieser Position eingeht, wo man mit der Maustaste geklickt habe.
Viele Dank.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Scrollbar: Slider-Taste zur Maus-klick position.

  Alt 15. Nov 2012, 12:36
wenn es nicht auf das Pixel genau sein muss ...
Delphi-Quellcode:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TScrollBar=Class(StdCtrls.TScrollBar)
        procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;

  End;

  TForm3 = class(TForm)
    ScrollBar1: TScrollBar;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

{ TScrollBar }

procedure TScrollBar.WMLButtonDown(var Message: TWMLButtonDown);
begin

  if Kind=sbHorizontal then
     begin
     if Width > 32 then
       Position := Round(Max * (Message.XPos - 16) / (Width - 32));
     end
   else
    begin
     if Height > 32 then
       Position := Round(Max * (Message.YPos - 16) / (Height - 32));
    end;
  inherited;
end;

end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (16. Nov 2012 um 00:08 Uhr)
  Mit Zitat antworten Zitat
Anakond

Registriert seit: 13. Okt 2007
23 Beiträge
 
#3

AW: Scrollbar: Slider-Taste zur Maus-klick position.

  Alt 15. Nov 2012, 21:09
Hallo,

Dein Code funktioniert für mein Gebrauch sehr gut, aber jetzt das schieben von der Taste funktioniert nicht mehr, es fällt immer ins Ausgangsposition.
Ich habe so etwas ausprobiert aber ich komme jetzt nicht mehr weiter.
Delphi-Quellcode:
 procedure TScrollBar.WMHScroll(var Message: TWMHScroll);
begin
   Position := Message.Pos;
 
end;
(Ich benutze ebenfalls scLineDown/scLineUp)

Was kannst du mir noch vorschlage!
Vielen Danke im voraus.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: Scrollbar: Slider-Taste zur Maus-klick position.

  Alt 16. Nov 2012, 00:08
verschiebe mal das inherited; vom Anfang der Prozedur an das Ende.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Anakond

Registriert seit: 13. Okt 2007
23 Beiträge
 
#5

AW: Scrollbar: Slider-Taste zur Maus-klick position.

  Alt 16. Nov 2012, 10:06
Vielen Dank für deine Lösung es funktioniert..
Grüss und schönen Tag.
  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 14:16 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