Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 11:40

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

Advertisement



GUIGetMsg() Problem

Discussion on GUIGetMsg() Problem within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
GUIGetMsg() Problem

Hey, und schonwieder muss ich euch nerven^^
Ich mach den neuen Thread hier auf, weil es im alten niemand gelesen hätte,
weil das ja ein volkommen anderes Problem/Thema war, also nehmts mir nicht krumm^^

Mein Problem ist:
Ich hab ne GUI erstellt, ohne Rand, ohne Leiste oben, also nur ein Bild.
Natürlich kann man, da die Leiste fehlt, die GUI nicht verschieben.
Da hab ich mir gedacht, dass ich über GUIGetMsg() herausfinde, ob
man auf das Programm draufklickt und wenn man dann die Maus bewegt,
soll die GUI mit der Maus mitkommen, also als würde man es verschieben.
Doch leider hat das ganze jetzt nicht geklappt und ich wollte euch fragen,
ob das grundsätzlich überhaupt möglich ist. Wenn ja, wie?
Wenn nein, gibt es nen anderen Weg, dass ich die GUI verschieben kann?

Btw, GUIGetMsg() hab ich mir schon im AutoIt Forum durchgelesen.

Hier mal ein Bild der GUI:


Und hier der Source:
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Form1"675443207167$WS_POPUPBitOR($WS_EX_TOPMOST$WS_EX_LAYERED))
GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\acccc.bmp", -1, -1676444)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
    $msg 
GUIGetMsg()
    If 
$msg $GUI_EVENT_PRIMARYDOWN Then
        
Do
            
$ms MouseGetPos()
            
$Form1 GUICreate("Form1"675443$ms[0], $ms[1], $WS_POPUPBitOR($WS_EX_TOPMOST$WS_EX_LAYERED))
        
Until $msg $GUI_EVENT_PRIMARYUP
    
EndIf
WEnd
        
Func _esc
()
    
GUIDelete()
    Exit
EndFunc 
Σternαl. is offline  
Old 05/13/2010, 18:15   #2
 
elite*gold: 0
Join Date: Nov 2009
Posts: 927
Received Thanks: 1,317
Versuch mal, anstatt die GUI neu aufzubauen (GUICreate) den Befehl WinMove... Hab's jetzt net getestet, könnte aber funktionieren

PHP Code:
WinMove($Form1,"",$ms[0],$ms[1]) 
huberhans is offline  
Thanks
1 User
Old 05/13/2010, 21:58   #3
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
Ok bewegen klappt jetzt, aber der hört nichmehr auf oO
Σternαl. is offline  
Old 05/13/2010, 22:55   #4
 
elite*gold: 0
Join Date: Nov 2009
Posts: 927
Received Thanks: 1,317
Quote:
Originally Posted by FooFightah View Post
Ok bewegen klappt jetzt, aber der hört nichmehr auf oO
Hab ich bemerkt, aber momentan noch nicht weiter verfolgt... kannst ja mal 'n wenig rumprobieren, ich schau's mir bei gelegenheit evtl. nochmal an
huberhans is offline  
Old 05/13/2010, 22:59   #5
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
Ja, nur mir fällt kein anderer Weg ein außer Do-Until oO
OK, hab jetzt mehrere Wege ausprobiert.
Mit If und ElseIf kann man immerhin auf das programm klicken, die Maus wegbewegen und wenn man die
Maus wieder loslässt, springt die GUI da hin, wo man die Maus dann hat, aber mitbewegen lässt sie sich nicht.
Ich krig es ums Verrecken nicht hin.
Mittlerweile hab ichs sogar schon so gemacht >.<
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Form1"675443207167$WS_POPUPBitOR($WS_EX_TOPMOST$WS_EX_LAYERED))
GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\acccc.bmp", -1, -1676444)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
    $msg 
GUIGetMsg()
    
$ms MouseGetPos()
    If 
$msg $GUI_EVENT_PRIMARYDOWN Then 
        
Do
            
$ms2 MouseGetPos()
            
WinMove($Form1,"",$ms2[0],$ms2[1])
            
$a 1
        Until Not $msg 
$GUI_EVENT_PRIMARYDOWN
    
ElseIf $msg $GUI_EVENT_PRIMARYUP Then    
        
Do
            
WinMove($Form1""$ms[0], $ms[1])
            
$a += 1
        Until $a 
3
    
EndIf
WEnd
        
Func _esc
()
    
GUIDelete()
    Exit
EndFunc 
Σternαl. is offline  
Old 05/14/2010, 15:00   #6

 
FichteFoll's Avatar
 
elite*gold: 237
Join Date: Sep 2008
Posts: 4,476
Received Thanks: 4,587
So funktioniert es:
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Form1"675443207167$WS_POPUP$WS_EX_TOPMOST) ; BitOR($WS_EX_TOPMOST$WS_EX_LAYERED)
GUICtrlCreatePic("e:\Unbenannt.jpg", -1, -1676444)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
    
Switch GUIGetMsg()
        Case 
$GUI_EVENT_PRIMARYDOWN
            
Do
                
$ms2 MouseGetPos()
                
WinMove($Form1,"",$ms2[0],$ms2[1])
                
$a 1
            Until GUIGetMsg
() = $GUI_EVENT_PRIMARYUP
    
EndSwitch
WEnd

Func _esc
()
    
GUIDelete()
    Exit
EndFunc 
Aber es gibt bei Controls den Stil $GUI_WS_EX_PARENTDRAG
"Erlaubt es dem Label- oder Bild-Control, wie eine Titelleiste angesehen zu werden, um das ganze „parent“-Fenster zu ziehen."

Also zB so:
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Form1"675443207167$WS_POPUP$WS_EX_TOPMOST) ; BitOR($WS_EX_TOPMOST$WS_EX_LAYERED)
GUICtrlCreatePic("e:\Unbenannt.jpg"00676444, -1$GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)


While 
1
    
Switch GUIGetMsg()
        Case 
$GUI_EVENT_CLOSE
            
Exit
    EndSwitch
WEnd 
FichteFoll is offline  
Thanks
1 User
Old 05/14/2010, 15:16   #7
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
Quote:
Originally Posted by FichteFoll View Post
So funktioniert es:
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Form1"675443207167$WS_POPUP$WS_EX_TOPMOST) ; BitOR($WS_EX_TOPMOST$WS_EX_LAYERED)
GUICtrlCreatePic("e:\Unbenannt.jpg", -1, -1676444)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
    
Switch GUIGetMsg()
        Case 
$GUI_EVENT_PRIMARYDOWN
            
Do
                
$ms2 MouseGetPos()
                
WinMove($Form1,"",$ms2[0],$ms2[1])
                
$a 1
            Until GUIGetMsg
() = $GUI_EVENT_PRIMARYUP
    
EndSwitch
WEnd

Func _esc
()
    
GUIDelete()
    Exit
EndFunc 
Aber es gibt bei Controls den Stil $GUI_WS_EX_PARENTDRAG
"Erlaubt es dem Label- oder Bild-Control, wie eine Titelleiste angesehen zu werden, um das ganze „parent“-Fenster zu ziehen."

Also zB so:
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Form1"675443207167$WS_POPUP$WS_EX_TOPMOST) ; BitOR($WS_EX_TOPMOST$WS_EX_LAYERED)
GUICtrlCreatePic("e:\Unbenannt.jpg"00676444, -1$GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)


While 
1
    
Switch GUIGetMsg()
        Case 
$GUI_EVENT_CLOSE
            
Exit
    EndSwitch
WEnd 
Ich....liebe dich *-*
Du hast mir den Tag gerettet^^
€dit: Wenn du mir jetzt noch sagen kannst, wie ich es hinbekomme, dass die GUI nicht 4Eckig ist, sondern wie irgendein Bild aussieht? Also wie zb beim S4 Launcher^^
Σternαl. is offline  
Old 05/14/2010, 15:59   #8


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,629
Received Thanks: 1,636
Was versucht du hier den Bitte zu Progen? Ein Fake Launcher?

Für was soll das gut sein?

Greatz Benhero
Benhero is offline  
Old 05/14/2010, 16:15   #9
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
Nope, nur ich versuche in Sachen GUI-Erstellung ne Menge dazuzulernen, weil
ich die GUI so hinbekommen will, wie ich es gerne hätte. Und nachdem ich so Sachen
wie zb das Interface/GUI von Avast gesehen hab, wollt ich unbedingt auchmal was
Eigenes in der Richtung machen. Keine Angst, wozu solte ich nen Fake-Launcher machen? oO
Σternαl. is offline  
Old 05/14/2010, 16:37   #10


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,629
Received Thanks: 1,636
... es gibt da so einige möglichkeiten.. egla
@b2t
Würde es reichen die Gui Rund zu machen?
Oder muss es mehr sein?

Greatz Benehro
Benhero is offline  
Old 05/14/2010, 16:48   #11
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
Rund ist meinetwegen auch ok, hauptsache was neues

Achja und noch eine Frage, wie krig ich es hin, dass ich sozusagen selbstkreierte Buttons benutzen kann?
Also angenommen ich füg ein Bild in die GUI ein und dieses Bild soll ein Button sein.
In meiner GUI soll der "selbstkreierte Button" das schwarz umrandete rote Kreuz sein.
Wenn man draufkickt soll sich das Programm schließen. Habs mit GUISetOnEvent und GUICtrlSetOnEvent versucht.
Ich hab das rote Kreuz auch extra als eigenes Bild mithinzugefügt, damit man dem ne
eigene Funktion geben kann, aber leider hat bis jetzt nichts davon geklappt, hoffe ihr könnt mir helfen.



Hier mal mein Source, falls ihr den braucht.
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode"1)

$Form1 GUICreate("Form1"624442207167$WS_POPUPBitOR($WS_EX_TOPMOST$WS_EX_LAYERED))
$pic1 GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\ddugoöud.bmp", -1, -1625443, -1$GUI_WS_EX_PARENTDRAG)
$pic2 GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\piece.bmp", -1, -17984, -1$GUI_WS_EX_PARENTDRAG)
GUICtrlSetOnEvent($pic2"_esc")
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
    
Switch GUIGetMsg()
        Case 
$GUI_EVENT_CLOSE
            
Exit
    EndSwitch
WEnd

Func _esc
()
    
GUIDelete()
    Exit
EndFunc 
Σternαl. is offline  
Old 05/14/2010, 16:52   #12


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,629
Received Thanks: 1,636
Machs so dann sollte es gehen:
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode"1)

$Form1 GUICreate("Form1"624442207167$WS_POPUPBitOR($WS_EX_TOPMOST$WS_EX_LAYERED))
$pic1 GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\ddugoöud.bmp", -1, -1625443, -1$GUI_WS_EX_PARENTDRAG)
$pic2 GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\piece.bmp", -1, -17984, -1$GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
    
Switch GUIGetMsg()
        Case 
$GUI_EVENT_CLOSE
            
Exit
        Case 
$pic2
            
Exit
    EndSwitch
WEnd

Func _esc
()
    
GUIDelete()
    Exit
EndFunc 
Greatz Benhero
Benhero is offline  
Old 05/14/2010, 16:58   #13
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
Nope, funktioniert leider nicht.
Und wie krig ich die GUI jetzt rund?^^
Σternαl. is offline  
Old 05/14/2010, 17:04   #14


 
Benhero's Avatar
 
elite*gold: 964
Join Date: Mar 2008
Posts: 2,629
Received Thanks: 1,636
So sollte es gehen: (Gleich mal bissel verändert und gekürzt.
PHP Code:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode"1)

$Form1 GUICreate("Form1"624442207167$WS_POPUPBitOR($WS_EX_TOPMOST$WS_EX_LAYERED))
$pic1 GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\ddugoöud.bmp", -1, -1625443, -1$GUI_WS_EX_PARENTDRAG)
$pic2 GUICtrlCreatePic("C:\Dokumente und Einstellungen\Marius\Eigene Dateien\Eigene Bilder\piece.bmp", -1, -17984)
GUISetState(@SW_SHOW)

HotKeySet("{ESC}""_esc")

While 
1
       $k 
=  GUIGetMsg()
       If 
$k $GUI_EVENT_CLOSE Then Exit
       If 
$k $pic2 Then Exit
WEnd

Func _esc
()
    Exit
EndFunc 
Greatz Benhero

Wegen Gui Round machen suche ich noch was... gab da so ein gutes Include was es machte..
Benhero is offline  
Old 05/14/2010, 17:10   #15
 
Σternαl.'s Avatar
 
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
OK, dann such du mal^^
Aber leider klappts immernoch nicht. Außer die Switch Combi in ne If Combo zu ändern haste ja auch nix gemacht
Ich hab irgendwie das Gefühl, dass man GUIGetMsg, $pic2 und $GUI_EVENT_PRIMARYDOWN/$GUI_EVENT_PRIMARYUP
zusammenbringen muss, aber wie?
Σternαl. is offline  
Reply


Similar Threads Similar Threads
GuiGetMsg() registriert nicht alle Ereignisse
04/20/2010 - AutoIt - 10 Replies
Habe gerade das Problem das mein Bot eigenartigerweise auf einmal bei 6 Inputfelder nicht nicht mehr richtig auf seine Ereignisse reagiert. Das bedeutet manchmal erkennt er das Ereignis auf eine Veränderung im Inputfeld manchmal nicht. Ich lese momentan die GUIGetMsg() aus und die bekommt leider nicht alles mit, alle anderen GUIElemente funktionieren einwandfrei. Hier ein Auszug (vielleicht burnt mir heut schon zu sehr der Kopf und bin einfach blind) ... $Input1 = GUICtrlCreateInput("0",...
[Problem] Problem with server starting - cannot find quest index for PaxHeader
12/22/2009 - Metin2 Private Server - 1 Replies
Hello! I have this same problem as here when i'm starting my server: http://www.elitepvpers.com/forum/metin2-pserver-di scussions-questions/307143-metin2-serverfiles-ques t-index-fehler.html But I didn't know the answer.. how to repair this? Greetings



All times are GMT +2. The time now is 11:40.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.