Einzelnen Beitrag anzeigen

kurtm1

Registriert seit: 12. Dez 2003
348 Beiträge
 

Re: Mausrad mit Label, Scrollbar, etc. benutzen

  Alt 20. Dez 2005, 13:10
ok das würde schon gehen, ist aber wohl sehr sehr umständlich..


//EDIT: Hier mal mein Code, habe jetzt alles mal in eine Funktion verpackt:

Delphi-Quellcode:
function MouseWheel (Sender:TControl;WheelDelta:Integer;MousePos:TPoint):shortint;
begin
        if (Mousepos.X-Form1.Left>=Sender.Left) and (MousePos.X-Form1.Left<=Sender.Left+Sender.Width) and
        (MousePos.Y-form1.Top>=Sender.Top) and (MousePos.Y-form1.Top<=Sender.Top+Sender.Height) then
        begin
        if WheelDelta>0 then Result:=1
        else
        Result:=-1;
        end
        else
        result:=0;
end;
Aufgerufen wird das dann im "TForm1.FormMouseWheel" Event:
Delphi-Quellcode:
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
        ScrollBar1.Position:=ScrollBar1.Position+MouseWheel(ScrollBar1,WheelDelta,MousePos);
        ScrollBar2.Position:=ScrollBar2.Position+MouseWheel(ScrollBar2,WheelDelta,MousePos);
end;
Sollte denk ich klar sein. Das einzige was man noch beachten muss: Wenn man die Funktion so verwendet wie ich sie oben habe, muss auf der Form "bsstyle=bsnone" eingestellt werden, sonst stimmen die Y Werte der Objekte nicht. (Dies hängt mit der Titelleiste zusammen)
  Mit Zitat antworten Zitat