Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 00:07

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Interner Source Bug bei "ControlMove"

Discussion on Interner Source Bug bei "ControlMove" within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1


 
elite*gold: 1860
Join Date: Jan 2012
Posts: 2,209
Received Thanks: 1,630
Interner Source Bug bei "ControlMove"

Heyo Community,

ich habe eben mit ControlMove() gearbeitet, um Bilder zu bewegen, ohne dass sie flackern.
Auf gdi+ hatte ich keinen Nerv für. Als ich im Script mehrere aneinander geordnete Bilder
von rechts nach links und wieder zurück verschoben habe,
haben die sich irgendwie selbst nochmal verschoben und buggten ineinander.

Beispiel mit 3 Bildern nebeneinander (rote Linien trennen die Bilder)

So sind sie noch nicht bewegt:


Nachdem hin und her bewegen:


Wie man deutlich sehen kann, haben sich die Bilder ineinander
(oder wie auch immer) verschoben, obwohl sie genau wieder
auf den gleichen Kordinaten sind, wie vor dem Bewegen.

Ich habe den Fehler mit der Funktion GUICtrlSetPos() optisch behoben.
Diese habe ich einfach zum Schluss, nachdem die Bilder sich bereits
bewegt haben, mit den aktuellen Koordinaten eingefügt.


Liebe Grüße,
Max Chri
MaxChri is offline  
Old 01/07/2016, 08:46   #2
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Ich kenne nicht die exakte Umsetzung des ControlMove-Befehls, vermute aber, dass sie über "SendMessage" umgesetzt wird. Mir ist es auch schon oft in C/C++ Projekten aufgefallen:

SendMessage moved das Control relativ zum äußeren Fenster (also das Fenster mit Controlleiste ("- ", "□", "X") und Windows-Rand).
Daher könnte sich dein Unterschied erklären, es könnte genau der Rand auf der linken Seite fehlen.

GUICtrlSetPos hingegen dürfte die extra dafür definierten Move-Funktionen benutzten (bzw. einfach die internen Koordinaten neusetzen). Das passiert aber relativ zum inneren Fenster.

So zumindest meine Vermutung, ob sie stimmt wissen nur die AutoIt-Entwickler selbst.
Shadow992 is offline  
Thanks
1 User
Old 01/07/2016, 20:50   #3
 
.Kevka's Avatar
 
elite*gold: 273
Join Date: Nov 2015
Posts: 60
Received Thanks: 10
ControlMove ist auch mehr für Fenster außerhalb deines Programmes gedacht, darin bestimmte "Controls" zu moven, korrigiert mich wenn ich falsch liege.
GuiCtrlSetPos ist intern und sollte für dinge in deinem Fenster benutzt werden um die besten Resultate zu erzielen.
.Kevka is offline  
Thanks
1 User
Old 01/07/2016, 21:34   #4


 
elite*gold: 1860
Join Date: Jan 2012
Posts: 2,209
Received Thanks: 1,630
Quote:
Originally Posted by .Kevka View Post
GuiCtrlSetPos ist intern und sollte für dinge in deinem Fenster benutzt werden um die besten Resultate zu erzielen.
Mit GuiCtrlSetPos() flackern die Bilder leider, deshalb benutze ich ControlMove().
MaxChri is offline  
Reply


Similar Threads Similar Threads
Windows 10 Remotedesktop "Interner Fehler"
07/31/2015 - Technical Support - 1 Replies
Hallo zusammen, ich habe mir heute ein Windows 10 installiert. Hierbei handelt es sich nicht um ein Upgrade sondern einer kompletten Neuinstallation einer lizenzierten Education Version von Windows 10, welche vom Funktionsumfang der am ehesten Enterprise Version entspricht. Zudem besitze ich einen vServer, gehostet bei Strato. Zu diesem kann ich mich per RDP von dem Windows 10 PC nicht mehr verbinden. Es erscheint die Fehlermeldung: "Ein interner Fehler ist aufgetreten". Mehr...



All times are GMT +1. The time now is 00:08.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.