Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Scrollbar: Slider-Taste zur Maus-klick position. (https://www.delphipraxis.net/171615-scrollbar-slider-taste-zur-maus-klick-position.html)

Anakond 15. Nov 2012 08:51

Delphi-Version: 6

Scrollbar: Slider-Taste zur Maus-klick position.
 
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.

Bummi 15. Nov 2012 11:36

AW: Scrollbar: Slider-Taste zur Maus-klick position.
 
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.

Anakond 15. Nov 2012 20:09

AW: Scrollbar: Slider-Taste zur Maus-klick position.
 
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.

Bummi 15. Nov 2012 23:08

AW: Scrollbar: Slider-Taste zur Maus-klick position.
 
verschiebe mal das inherited; vom Anfang der Prozedur an das Ende.

Anakond 16. Nov 2012 09:06

AW: Scrollbar: Slider-Taste zur Maus-klick position.
 
Vielen Dank für deine Lösung es funktioniert..
Grüss und schönen Tag.


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