![]() |
Fenster-Verschiebung selber programmieren
Hallo!
Der folgende Quelltext setllt ein Programmgerüst dar, mit dem ich die Programmierung von Festern und aller dahinter stehenden Logik erlernen und verstehen will.
Delphi-Quellcode:
Wenn ich nun den Bar verschieben will klappt das, solange die Mausposition innerhalb des während der Anweisung Screen.Bar(...) festgelegten Bereiches liegt. Verläßt die Mausposition diesen Bereich, erfolgt keine weitere Verschiebung. Die Berechnung WinX/Y := WinX/Y + MousePosX/Y führt nicht zum Erfolg, weshalb ich diese Zeilen auch auskommentiert habe.
var
Screen: TScreen; XRes,YRes: Longint; //Die X/Y Bildschirmauflösung Bpp: Longint; //Farbtiefe in Bits per Pixel Buttons: Byte; //Zwischenspeicher für den Zustand der Maus MousePosX, MousePosY: LongINt; //Position Mauszeiger begin Screen.Setup(XRes,YRes,Bpp); Font.LoadFont; //Zur Darstellung von Text InitMouse; EnableMouse; MouseOn; Buttons := 0; WinX := 10; WinY := 10; //Fensterposition zu verschiebender Block repeat MouseCoords(MousePosX,MousePosY); //Aktuelle Mausposition ermitteln SetMousePosition(MousePosX,MousePosY); //Mauszeiger auf diese Position setzen //----------------------------------- Jeder weitere Code hier //----------------------------------- Every further code here Buttons := MouseButton; Screen.Bar(WinX,WinY,WinX+100,WinY+50,$000000FF); //irgendein Fensterobjekt zum Verschieben //Wenn Maustaste gedrückt (Links), dann soll der Block verschoben werden if Buttons<>0 then if Boolean(IsMouseInArea(WinX,WinY,WinX+100,WinY+50)) then Screen.BitBlit(WinX,WinY,WinX+100,WinX+50,MousePosX,MousePosY); //WinX := WinX+MousePosX; //Diese Berechnung hilft nicht weiter //WinY := WinY+MousePosY; //Warum nicht??? //---------------------------------- Bis Endebedingung erreicht //----------------------------------- Until condition to exit until Keypressed; DisableMouse; Font.RemoveFont; Screen.Done; end. Wer kann mir hier helfen? Lernnix |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz