Jump to content

AutoIt v3.3.9.19 Beta


Jon
 Share

Recommended Posts

I have been unable to recreate this issue I'm afraid, however I have resolved it (meaning I fixed my particular script) and I assure you I'm not imagining it.

The global Variables I have in my Main.au3

;Couple of Globals
Global $hControlFile

There were 3 of them in my working script, which relate only to functions in Main.au3

If I move them to Globals.au3 with the rest of them (#include "Globals.au3") The script acts as I expect, the Control.tx being created and written to normally.

If I put them back the problem resurfaces.

Edited by JohnOne

AutoIt Absolute Beginners    Require a serial    Pause Script    Video Tutorials by Morthawt   ipify 

Monkey's are, like, natures humans.

Link to comment
Share on other sites

I'm getting some serious mouse flickering on input controls on Win8 Pro x64. Moving the mouse over the input control flickers between the carat and the standard pointer. The issue can be seen in the GUICtrlCreateInput help file example. Can anyone confirm?

Link to comment
Share on other sites

  • Moderators

wraithdu,

This has been reported at least once before . It seems to be very machine dependent - I have never seen it and the example works fine for me.

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

What OS did you test on? I've only seen it on Win8. I'll have to check at home as well. I don't use anything regularly that has those input controls at home, just here at work, so I'll check out the example. But I also confirmed it happens on x86 and on 3.3.8.1 x86/64.

Any testing / debugging you can think of, let me know.

Link to comment
Share on other sites

  • Moderators

wraithdu,

I have tested on Vista x32 and XP - and I have never seen the problem with any version since I started using AutoIt (back at v3.2.10.0). It seems to be extremely selective about who it affects - I am not sure if you should be very flattered or very annoyed! :D

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Administrators

I can see it on any control that changes the cursor (edit, combos, etc). It's very subtle though, you have to drag the mouse slowly and you can just make out it is flickering beween an arrow and a bar. I've not got a WinXP/Win7 box immediately available to test. But I imagine it always happens on all systems but depending on the speed/video hardware people might just not notice.

Link to comment
Share on other sites

I ran this script below on my Windows 7 laptop, I saw the flicker very very infrequently but the MouseGetCursor function never once picked it up.

BTW, I used the timer routine to make sure I didn't miss any cursor changes because of not paying attention.

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>

Global $oMyError

Example()

Func Example()
    Local $myedit, $msg, $X, $LastX

    $hGUI = GUICreate("My GUI edit") ; will create a dialog box that when displayed is centered

    $myedit = GUICtrlCreateEdit("First line" & @CRLF, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)

    GUISetState()

    Send("{END}")

    ; will be append dont' forget 3rd parameter
    GUICtrlSetData($myedit, "Second line", 1)
    $Timer = TimerInit()
    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
        $X = MouseGetCursor()
        If $X <> $LastX Then
            ConsoleWrite("Mouse is now: " & $X & @TAB & "@ - " & Int(TimerDiff($Timer)) & @CRLF)
            $LastX = $X
        EndIf
    WEnd
    GUIDelete()
EndFunc   ;==>Example

Also, when I said very very infrequently, it was probably 2 - 3 times while running this for over a minute, and moving the cursor slowly around the Edit control.

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Link to comment
Share on other sites

My output. Nice illustration of the condition by the way. On mine the flicker is very apparent and very fast. So I'm sure this is as well as the GUI loop can detect.

Mouse is now: 5 @ - 0
Mouse is now: 2 @ - 930
Mouse is now: 5 @ - 1374
Mouse is now: 2 @ - 3306
Mouse is now: 5 @ - 3371
Mouse is now: 2 @ - 4639
Mouse is now: 5 @ - 5385
Mouse is now: 2 @ - 9520
Mouse is now: 5 @ - 9963
Mouse is now: 2 @ - 10171
Mouse is now: 5 @ - 10394
Edited by wraithdu
Link to comment
Share on other sites

  • Administrators

Not that this bit of info really matters, but using GuiCtrlSetCursor to set the IBeam cursor on the input controls stops the flickering. It's probably because it is flickering between IBeam and IBeam :/

Indeed.

Link to comment
Share on other sites

  • Administrators

Tricksier than I first thought. The cursor handling is done at the window level and the technique used for changing the cursor for particular controls is a bit, well, hackish. I think I need to rewrite all the cursor handling and sub-class controls so that they set their own cursors instead - which is the better way anyhow I think. 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...