Einzelnen Beitrag anzeigen

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