Jump to content

Edit box & ctrl-a doesn't work


Go to solution Solved by Melba23,

Recommended Posts

  • Moderators
  • Solution

vakis,

This is a Windows limitation/feature on edit controls and nothing to do with AutoIt. I show how to get around it here. :)

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 post
Share on other sites
  • 1 year later...

vakis,

This is a Windows limitation/feature on edit controls and nothing to do with AutoIt. I show how to get around it here. :)

M23

I'm sorry, where? I was googleing this exact issue before asking the exact same question, but your "here" doesn't link anywhere anymore...

EDIT
For all those wondering, I think I found where he showed it here:

https://www.autoitscript.com/forum/topic/146290-ctrl-a-does-not-work-on-edit-controls/?do=findComment&comment=1035269

ILLBeBack,

That is a Windows problem/feature - nothing to do with AutoIt. ;)

I solve it like this:

#include <GUIConstantsEx.au3>
#include <GUIEdit.au3>
#include <WinAPI.au3>

Global $hInput_Handle

$hGUI = GUICreate("Test", 500, 500)

$cInput = GUICtrlCreateEdit("here is some text", 10, 10, 480, 480)
$hInput_Handle = GUICtrlGetHandle(-1)

; Create dummy for accelerator key to activate
$cSelAll = GUICtrlCreateDummy()

GUISetState()

; Set accelerator for Ctrl+a
Dim $aAccelKeys[1][2]=[["^a", $cSelAll]]
GUISetAccelerators($aAccelKeys)

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

Func _SelAll()
    Switch _WinAPI_GetFocus()
        Case $hInput_Handle
            _GUICtrlEdit_SetSel($hInput_Handle, 0, -1)
            Return
    EndSwitch
EndFunc   ;==>_SelAll

Please ask if you have any questions. :)

M23

TL:DR make a dummy ctrl to use as a kind of "button", when that dummy is clicked set the selection of the edit, and then use GUISetAccelerators to make a hot key for that dummy.

I also must say I'm not liking the last forum update. there are a LOT of dead and missing links now...

Edited by corgano

0x616e2069646561206973206c696b652061206d616e20776974686f7574206120626f64792c20746f206669676874206f6e6520697320746f206e657665722077696e2e2e2e2e

Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...