Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

scrollbox macht komische sachen....

  Alt 14. Mai 2005, 22:11
ich habe eine scrollbox und in dieser ein image.

um nun das image in der scrollbox bewegen zu können(bzw. einfach in der scrollbox scrollen zu können, wenn das image größer als die scrollbox ist), mache ich folgendes:

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if (ssleft in shift) and
   (scrollbox1.HorzScrollBar.Position+X-oldmouse.X >= 0) and
   (scrollbox1.VertScrollBar.Position+Y-oldmouse.Y >= 0) then
 scrollbox1.ScrollBy((X-oldmouse.X),(Y-oldmouse.Y));


end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if ssleft in shift then
 begin
  oldmouse.X:=X;
  oldmouse.Y:=Y;
 end;
end;
oldmouse ist eine (OOP_Fanatiker bitte das nächste Wort überlesen ) globale variable.

das ganze funktioniert auch, bis auf ein problem:

verschiebe ich das image nach links oben, so verschwindet es dort und die scroll-leisten verschwinden -> das image wird verschoben?!
verschiebe ich das image nach rechts unten, so scroltl die box brav mit - aber die scrollbalken werden immer kleiner, so als ob der inhalt mehr geworden wäre -> wieder der eindruck, das image würde verschoben, und nicht die scrollbox gescrollt !!

was soll das?

das image ist übrigens ein TImage32 aus der G32-Lib.
ausserdem ist es ein direktes child der scrollbox.
irgendwelche manipulationen an der position des image gibt es nicht, an keiner einzigen stelle im code.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat