Jump to content

Why is text highlighted in GUICtrlCreateEdit?


Recommended Posts

I want to open and display a text file in a Window.  The following test script does it for me, but when the window appears the text is highlighted (the text is selected). I must click on the text to deselect it.  What is causing it to be pre-selected and how can I fix this?  Thank you.

 

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

$sBody = FileRead(@ScriptDir & "\mailbody.txt")


Local $hGUI = GUICreate("Test GUI", 600,300)
GUICtrlCreateEdit($sBody, 5, 5, 590, 295, $WS_VSCROLL + $ES_READONLY)
GUISetState(@SW_SHOW)

Local $iMsg = 0
While 1
    $iMsg = GUIGetMsg()
    Switch $iMsg
       Case $GUI_EVENT_CLOSE
            ;MsgBox($MB_SYSTEMMODAL, "GUI Event", "You selected the Close button. Exiting...")
            ExitLoop
    EndSwitch
WEnd

GUIDelete($hGUI)

 

testgui_highlighted.thumb.png.1151dfa482

Link to comment
Share on other sites

Give focus to the control, like so:

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


$sBody = FileRead(@ScriptDir & "\mailbody.txt")


Local $hGUI = GUICreate("Test GUI", 600,300)
Local $edit = GUICtrlCreateEdit($sBody, 5, 5, 590, 295, $WS_VSCROLL + $ES_READONLY)
GUICtrlSetState($edit, $GUI_FOCUS) ; give focus to the edit ctrl
GUISetState(@SW_SHOW)

Local $iMsg = 0
While 1
    $iMsg = GUIGetMsg()
    Switch $iMsg
       Case $GUI_EVENT_CLOSE
            ;MsgBox($MB_SYSTEMMODAL, "GUI Event", "You selected the Close button. Exiting...")
            ExitLoop
    EndSwitch
WEnd

GUIDelete($hGUI)

 

Snips & Scripts


My Snips: graphCPUTemp ~ getENVvars
My Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4

Feel free to use any of my code for your own use.                                                                                                                                                           Forum FAQ

 

Link to comment
Share on other sites

My pleasure. ;)

Snips & Scripts


My Snips: graphCPUTemp ~ getENVvars
My Scripts: Short-Order Encrypter - message and file encryption V1.6.1 ~ AuPad - Notepad written entirely in AutoIt V1.9.4

Feel free to use any of my code for your own use.                                                                                                                                                           Forum FAQ

 

Link to comment
Share on other sites

@‌MikahS - Thanks, I've always done it this way...

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

$sBody = FileRead(@ScriptDir & "\mailbody.txt")

Local $hGUI = GUICreate("Test GUI", 600,300)
Local $edit = GUICtrlCreateEdit('', 5, 5, 590, 290, $WS_VSCROLL + $ES_READONLY)
GUISetState(@SW_SHOW)

guictrlsetdata($edit,$sBody)    ;   must be after GuiSetState()

Local $iMsg = 0
While 1
    $iMsg = GUIGetMsg()
    Switch $iMsg

       Case $GUI_EVENT_CLOSE
            ;MsgBox($MB_SYSTEMMODAL, "GUI Event", "You selected the Close button. Exiting...")
            ExitLoop

    EndSwitch

WEnd



GUIDelete($hGUI)

kylomas

Forum Rules         Procedure for posting code

"I like pigs.  Dogs look up to us.  Cats look down on us.  Pigs treat us as equals."

- Sir Winston Churchill

Link to comment
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
 Share

×
×
  • Create New...