AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster verschieben?

Ein Thema von DualCoreCpu · begonnen am 11. Sep 2009 · letzter Beitrag vom 29. Mai 2016
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
DualCoreCpu
(Gast)

n/a Beiträge
 
#1

Fenster verschieben?

  Alt 11. Sep 2009, 19:19
Hallo,

Unser Lehrer hat uns die Aufgabe gegeben, eine Fensterverschiebung per Maus zu realisieren.
Leider habe ich von Delphi nicht viel Ahnung. Wir sollen die gesamte Berechnung der Fensterkoordinaten selber machen. Das Fenster soll mit der Maus verschoben werden können.

Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

Re: Fenster verschieben?

  Alt 11. Sep 2009, 19:41
Hallo und Willkommen in der DP ,

diese Aufgabenstellung ist aber mehr als schwammig, da Fenster sich ja normalerweise sowieso schon per Maus verschieben lassen. Bevor wir hier also mutmaßen und an der Aufgabe vorbei Vorschläge machen, solltest Du das noch einmal konkretisieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
DualCoreCpu
(Gast)

n/a Beiträge
 
#3

Re: Fenster verschieben?

  Alt 11. Sep 2009, 19:58
Hallo DeddyH,

Schwammig? Hmmm! Leider kann ich mich im Moment nicht besser ausdrücken. Klar lassen sich die Fenster normalerweise bereits per Maus verschieben, aber irgendwie müssen das die Programmierer von Windows doch gemacht haben. Irgendwo in den Tiefen von Windows muss doch da ein Algorhithmus stecken. Und den sollen wir nachprogrammieren.
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Fenster verschieben?

  Alt 11. Sep 2009, 20:02
Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if ssLeft in Shift then
    begin
      ReleaseCapture;
      Form1.Perform(WM_SYSCOMMAND,$F012,0);
    end;
end;
Der Code würde das gewünscht bewirken aber berechnet wird da natrülich von dir nichts. Der Code stammt von DeddyH.

Für den Algorithmus denn du machen willst hilft dir eventuell ClientToScreen.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Fenster verschieben?

  Alt 11. Sep 2009, 20:02
- man klickt mit der Maus
- diese Position merkt man sich nun
- wird die Maus verschoben, kann man sich die Differenz zu letzen Mausposition ausrechen
- und das Fenster entsprechend verschieben
- usw.

[add]
@Larsi: ich glaub nicht, daß das der Weg ist, den sich der/ein Lehrer wünscht
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

Re: Fenster verschieben?

  Alt 11. Sep 2009, 20:02
Also rate ich doch einmal: ihr sollt die Fenster so programmieren, dass sie sich auch in der Client-Area statt über die Titelleiste verschieben lassen, könnte das sein?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Fenster verschieben?

  Alt 11. Sep 2009, 20:10
Hier ist auch noch was zu finden

Fenster verschieben
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#8

Re: Fenster verschieben?

  Alt 11. Sep 2009, 20:12
Auch das dürfte nicht der Aufgabenstellung entsprechen. IMHO ist himitsu auf dem richtigen Weg, auch wenn das Plappermaul wieder zu vorschnell war
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Fenster verschieben?

  Alt 11. Sep 2009, 21:06
Ich habs mal ausprobiert:

Ich bin so vorgegangen:

Wenn man Maustaste drückt, dann wird er Punkt gespeichert auf den geklickt wurde (relative Koordinaten auf dem Formular, also Point(X,Y) wobei x,y aus OnMouseDown sind)

Dann im OnMouseMove wird die neue Position mithilfe der aktuellen, globalen Mauskoordinaten und dem Punkt vom MouseDown (als ne Art Offset) berechnet.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

Re: Fenster verschieben?

  Alt 11. Sep 2009, 21:24
Zitat von Neutral General:
Dann im OnMouseMove wird die neue Position mithilfe der aktuellen, globalen Mauskoordinaten und dem Punkt vom MouseDown (als ne Art Offset) berechnet.
Delphi-Referenz durchsuchenClientToScreen
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 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