AGB  ·  Datenschutz  ·  Impressum  







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

Form mitte mit maus Focussieren

Ein Thema von cran7 · begonnen am 2. Nov 2007 · letzter Beitrag vom 2. Nov 2007
Antwort Antwort
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#1

Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 12:50
Ich ma wieder mit meinen ideen xD
diesmal:

gitbs ne möglichkeit das die Maus per buttondruck in die mitte der Form geht?
oder
dass die Form der maus folgt, sobald die am rand der Form is? also das die Form dann "mitgezogen" wird?

müsst ja eigtl mit

Mouse.CursorPos := Point(x,y);

un für x und y halt die koordinaten( die ja dynamisch sin, desshalb weis ich net wie ich das machn soll)

gehn oder?
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

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

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 13:06
es müsste eigentlich mit dem hier gehen, das hab ich on the fly geschrieben also event noch nen bissel rummbasteln


Delphi-Quellcode:
uses
  windows;
var
  x, y: integer;
        x := GetSystemMetrics(SM_CXSCREEN);
        y := GetSystemMetrics(SM_CYSCREEN);
        Mouse.CursorPos := Point((x div 2),(y div 2));


mfg
Martin
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 13:07
@lbccaleb: Es geht um die mitte der From nicht um die Mitte der Bildschirme.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

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

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 13:10
Zitat von SirThornberry:
@lbccaleb: Es geht um die mitte der From nicht um die Mitte der Bildschirme.
ja ist ja auch nicht das problem dann sucht er einfach nach der form breite, bzw länge und teilt die durch 2 nen bissel flexsiebel muss man ja sein


edit:

(form1.width div 2)
(form1.high div 2)

so ungefähr müsste es dann ja aussehen..

mfg
Martin
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 13:14
Hallo Cran7,


Zitat von cran7:
Ich ma wieder mit meinen ideen xD
diesmal:

gitbs ne möglichkeit das die Maus per buttondruck in die mitte der Form geht?
Mouse.CursorPos := Point(Form1.Left + Form1.Width div 2, Form1.Top + Form1.Height div 2);
Zitat:
oder
dass die Form der maus folgt, sobald die am rand der Form is? also das die Form dann "mitgezogen" wird?
hierfür kann man zB einen Timer auf die Form packen, mit folgendem onTimer-Ereignis
Delphi-Quellcode:
  if Mouse.CursorPos.X < Form1.Left then
    Form1.Left := Mouse.CursorPos.X
  else if Mouse.CursorPos.X > (Form1.Left + Form1.Width) then
    Form1.Left := Mouse.CursorPos.X - Form1.Width;

  if Mouse.CursorPos.Y < Form1.Top then
    Form1.Top := Mouse.CursorPos.Y
  else if Mouse.CursorPos.Y > (Form1.Top + Form1.Height) then
    Form1.Top := Mouse.CursorPos.Y - Form1.Height;

Grüße
Ansgar
  Mit Zitat antworten Zitat
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#6

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 14:08
erstma fettes thx, das war das was ich gesucht hab

jetzt noch ne frage^^

gibts ne möglichkeit den timer etwas schneller zu machen? bei mir hat das immer ca 1sec verzögerung, un das is net so toll

E: hat sich erledigt, is ja einfach, einfach interval runterschraubn^^
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 14:43
wäre es nicht besser statt dem timer einfach onMouseLeave der Form zu benutzen?
kp ob das funktioniert^^
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
cran7

Registriert seit: 5. Sep 2007
43 Beiträge
 
#8

Re: Form mitte mit maus Focussieren

  Alt 2. Nov 2007, 14:51
Zitat von dominikkv:
wäre es nicht besser statt dem timer einfach onMouseLeave der Form zu benutzen?
kp ob das funktioniert^^
hab ich auch schon probiert, aber geht net, geht dann einfach raus


E: das geht doch, ausser nach oben, da kann ma mit maus raus...
aber damits geht muss ma den quelcode bisschen verändern, das darf dann net ganz beim verlassn sein
Delphi-Quellcode:
  if Mouse.CursorPos.X < Form1.Left + 4 then
    Form1.Left := Mouse.CursorPos.X - 4
  else if Mouse.CursorPos.X > (Form1.Left + Form1.Width) - 5 then
    Form1.Left := Mouse.CursorPos.X - Form1.Width + 5;

  if Mouse.CursorPos.Y < Form1.Top + 4 then
    Form1.Top := Mouse.CursorPos.Y - 4
  else if Mouse.CursorPos.Y > (Form1.Top + Form1.Height) - 8 then
    Form1.Top := Mouse.CursorPos.Y - Form1.Height + 8;
  Mit Zitat antworten Zitat
Antwort Antwort


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 17: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