Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Maus an Position x positionieren (https://www.delphipraxis.net/69148-maus-position-x-positionieren.html)

Zidane 10. Mai 2006 21:34


Maus an Position x positionieren
 
Hallo,

ich möchte die Maus beim Start der Anwendung an einer bestimmten Stelle positionieren.

Kann man dies irgendwie durch x und y Variablen ermöglichen und muss man zB die Formblattbreite und -höhe berücksichtigen?

Danke und viele Grüße,

Zidane

Matze 10. Mai 2006 21:36

Re: Maus an Position x positionieren
 
Hi,

Bildschirmweit geht es mit Delphi-Referenz durchsuchenSetCursorPos.

Edit: Ich hoffe du meinst den Cursor. Die Maus kann man glaube ich ohne weiteres nicht per Software verschieben. :stupid:

lizardking 10. Mai 2006 21:59

Re: Maus an Position x positionieren
 
Zitat:

Zitat von Matze
Edit: Ich hoffe du meinst den Cursor. Die Maus kann man glaube ich ohne weiteres nicht per Software verschieben. :stupid:

Das wird bewusst verhindert, weil es ein Sicherheitsrisiko darstellen wuerde. Wie leicht waere es sonst, sowas zu machen :

Delphi-Quellcode:
  Mouse.PhysicalPos := MeimChefSeineKaffeeTasse.Pos;
;-)

gfjs 11. Mai 2006 04:35

Re: Maus an Position x positionieren
 
OT :-D

@ lizardking

Zitat:

Mouse.PhysicalPos := MeimChefSeineKaffeeTasse.Pos;
Hab's ausprobiert!

Fehlermeldung: unbekannter Bezeichner 'MeimChefSeineKaffeTasse' (bairisch!)

Gruß aus München

Jürgen

marabu 11. Mai 2006 05:53

Re: Maus an Position x positionieren
 
Guten Morgen.

So geht es:

Delphi-Quellcode:
procedure TMainForm.FormCreate(Sender: TObject);
var
  pt: TPoint;
begin
  with DemoButton do
    pt := Point(Left + Width shr 1, Top + Height shr 1);
  Mouse.CursorPos := ClientToScreen(pt);
end;
Grüße vom marabu

Mackhack 11. Mai 2006 06:18

Re: Maus an Position x positionieren
 
Für was ist denn dieses Shr gut. Ich sehe das in so vielen Codes hier dass ihr mit dem Shr arbeitet!

marabu 11. Mai 2006 06:22

Re: Maus an Position x positionieren
 
Blöde Angewohnheit von mir aus längst vergangenen Assembler-Zeiten. SHR ist der Mnemo-Code für Shift Right und richtig angewandt enstpricht die Verschiebung um 1 Bit nach rechts einer Ganzahldivision durch 2. Aber schau ruhig mal in die Online-Hilfe.

Freundliche Grüße vom marabu

Muetze1 11. Mai 2006 06:23

Re: Maus an Position x positionieren
 
shr = shift right.

Binäres bitweises verschieben der Bits nach rechts. Die Bit die rechts rausfallen gehen verloren (im Gegensatz zu rotate right) und links werden die freien Bits mit 0 aufgefüllt.

Shr 1 wäre in diesem Falle ein schnellere ganzzahlige Division durch 2.

shr x => div 2^x

Aber nur bei ganzzahligen Werten.

/EDIT: trotz rotem Kasten gepostet, da etwas ausführlicher

Mackhack 11. Mai 2006 06:24

Re: Maus an Position x positionieren
 
Danke euch beiden! Hab zwar in der hlp schonmal nachgesehen, dass es aber einer Ganzzahldivision durch 2 gleichkommt wusste ich nicht - jetzt schon!

Luckie 11. Mai 2006 07:07

Re: Maus an Position x positionieren
 
Und noch zur Ergänzung: Die Shift Operatioenen sind performanter als die Multiplikationen oder Divisionen, weil ja eigentlich gar nicht gerechnet wird. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 Uhr.
Seite 1 von 2  1 2      

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