PantZ4 Posted March 19, 2007 Share Posted March 19, 2007 While 1 For $x = 0 To ($StickyNumberOfWindows-1) step 1 If $StickyWindowIsInUse[$x] = True Then $temp = WinGetPos($StickyWindow[$x]) $StickyWindowPostionX[$x] = $temp[0] $StickyWindowPostionY[$x] = $temp[1] If $StickyWindowPostionTempX[$x] Not = $StickyWindowPostionX[$x] Then $StickyWindowHasMoved[$x] = True $StickyWindowPostionTempX[$x] = $StickyWindowPostionX[$x] EndIf If $StickyWindowPostionY[$x] Not = $StickyWindowPostionTempY[$x] Then $StickyWindowHasMoved[$x] = True $StickyWindowPostionTempY[$x] = $StickyWindowPostionY[$x] EndIf If $StickyWindowHasMoved[$x] = True Then $StickyWindowHasMoved[$x] = False ;Do something here EndIf EndIf Next Wend Bacis outlines: $StickyWindowPostionX[$x] = Current X position for window $StickyWindowPostionY[$x] = Current Y position for window $StickyWindowPostionTempX[$x] = Old X position for window $StickyWindowPostionTempY[$x] = Old Y position for window It seems that the variables only opdates once, why ? Thank you Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted March 19, 2007 Moderators Share Posted March 19, 2007 With what your showing us, we can't tell what the issue is, for all we know, the data never changes. But, if I had to guess, I'd say that: $StickyWindowIsInUse[$x] is only ever true once. Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
PantZ4 Posted March 19, 2007 Author Share Posted March 19, 2007 (edited) With what your showing us, we can't tell what the issue is, for all we know, the data never changes. But, if I had to guess, I'd say that: $StickyWindowIsInUse[$x] is only ever true once. Well its in my loop and it supose to see if the user have move the window. $StickyWindowIsInUse[$x] is only set when I create a window, eg. when a window is open. There isn't really more of the loop involing this part. The whole loop: expandcollapse popupFunc _EventHandler() While 1 For $x = 0 To ($StickyNumberOfWindows-1) step 1 If $StickyWindowIsInUse[$x] = True Then $temp = WinGetPos($StickyWindow[$x]) $StickyWindowPostionX[$x] = $temp[0] $StickyWindowPostionY[$x] = $temp[1] If $StickyWindowPostionTempX[$x] Not = $StickyWindowPostionX[$x] Then $StickyWindowHasMoved[$x] = True $StickyWindowPostionTempX[$x] = $StickyWindowPostionX[$x] EndIf If $StickyWindowPostionY[$x] Not = $StickyWindowPostionTempY[$x] Then $StickyWindowHasMoved[$x] = True $StickyWindowPostionTempY[$x] = $StickyWindowPostionY[$x] EndIf If $StickyWindowHasMoved[$x] = True Then $StickyWindowHasMoved[$x] = False GUIDelete($StickyTransparencyWindow[$x]) $StickyTransparencyWindow[$x] = _MakeStickyTransparencySlider($x,$StickyWindow[$x]) If $StickyTransparencyIsOn[$x] = True Then GUISetState(@SW_SHOW,$StickyTransparencyWindow[$x]) WinActivate($StickyTransparencyWindow[$x]) EndIf EndIf EndIf Next $msg = GUIGetMsg(1) For $x = 0 To (($StickyNumberOfWindows*$StickyNumberOfButtons)-1) step 1 If $msg[0] = $StickyButtonID[$x] And $msg[1] Not = 0 Then $ButtonNumber = $x While 1 If $ButtonNumber > ($StickyNumberOfButtons-1) Then $ButtonNumber = $ButtonNumber - $StickyNumberOfButtons Else ExitLoop EndIf WEnd _StickyRunFunction($ButtonNumber,$msg[1]) EndIf Next If $msg[0] = $GUI_EVENT_RESIZED Then For $x = 0 To ($StickyNumberOfWindows-1) step 1 If $msg[1] = $StickyWindow[$x] And $msg[1] Not = 0 Then $temp = WinGetPos($StickyWindow[$x]) If $temp[3] < $StickyMinimumHeigth Then WinMove ($msg[1],"",Default,Default,$temp[2],$StickyMinimumHeigth) $temp[3] = $StickyMinimumHeigth EndIf If $temp[2] < $StickyMinimumWidth Then WinMove ($msg[1],"",Default,Default,$StickyMinimumWidth) $temp[2] = $StickyMinimumWidth EndIf GUIDelete($StickyTransparencyWindow[$x]) $StickyTransparencyWindow[$x] = _MakeStickyTransparencySlider($x,$StickyWindow[$x]) If $StickyTransparencyIsOn[$x] = True Then GUISetState(@SW_SHOW,$StickyTransparencyWindow[$x]) EndIf EndIf Next EndIf For $x = 0 To ($StickyNumberOfWindows-1) step 1 If $StickyTransparencyIsOn[$x] = True Then If WinActive($StickyTransparencyWindow[$x]) = 0 Then $StickyTransparencyIsOn[$x] = False DllCall("user32.dll","int","AnimateWindow","hwnd",$StickyTransparencyWindow[$x],"int",100,"long",0x00050008) GUISetState(@SW_HIDE,$StickyTransparencyWindow[$x]) EndIf EndIf Next WEnd EndFuncoÝ÷ Ù+Z®ÛÚºW¬jëh×6 Global $StickyDefualtWidthPostion = 0 Global $StickyDefualtHeigthPostion = 0 Global $StickyWindowPostionX[$StickyNumberOfWindows] = [$StickyDefualtWidthPostion] Global $StickyWindowPostionY[$StickyNumberOfWindows] = [$StickyDefualtHeigthPostion] Global $StickyWindowPostionTempX[$StickyNumberOfWindows] = [$StickyDefualtWidthPostion] Global $StickyWindowPostionTempY[$StickyNumberOfWindows] = [$StickyDefualtHeigthPostion]I can't see why it wont update... Edited March 19, 2007 by Mr. Zero Link to comment Share on other sites More sharing options...
PantZ4 Posted March 20, 2007 Author Share Posted March 20, 2007 I got it! For some reason does it not work when you write If $StickyWindowPositionTempX[$x] Not = $temp[0] ThenoÝ÷ Øìµçb*.¸y«¢+Ø%ÀÌØíMÑ¥å]¥¹½ÝA½Í¥Ñ¥½¹QµÁalÀÌØíát±ÐìÐìÀÌØíѵÁlÁtQ¡¸ when it works. Weird... Link to comment Share on other sites More sharing options...
piccaso Posted March 20, 2007 Share Posted March 20, 2007 or If Not $StickyWindowPositionTempX[$x] = $temp[0] Thendidnt AU3Check warn you? CoProc Multi Process Helper libraryTrashBin.nfshost.com store your AutoIt related files here!AutoIt User Map Link to comment Share on other sites More sharing options...
PantZ4 Posted March 20, 2007 Author Share Posted March 20, 2007 or If Not $StickyWindowPositionTempX[$x] = $temp[0] Thendidnt AU3Check warn you? No, not at all. Link to comment Share on other sites More sharing options...
piccaso Posted March 20, 2007 Share Posted March 20, 2007 ok then its weird CoProc Multi Process Helper libraryTrashBin.nfshost.com store your AutoIt related files here!AutoIt User Map Link to comment Share on other sites More sharing options...
PantZ4 Posted March 20, 2007 Author Share Posted March 20, 2007 ok then its weird But it could have been nice to know this 12 hours before Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted March 20, 2007 Moderators Share Posted March 20, 2007 But it could have been nice to know this 12 hours before You would have known it (for future reference) if someone could have ran your example... I didn't get past the 3rd line I think before I quit looking because I couldn't run it to understand the error you were getting.Just take 10 minutes out of your time making a reproduction script that reproduces the error that people can actually run.In addition... SciTe editor (Full Version v.1.7.7) + Ctrl + F5 (running au3check) would have shown you your error (might save you 12 hours of time next time if you run that before banging your head against the wall again). Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now