Suzuran Posted June 16, 2007 Share Posted June 16, 2007 How can I make an edit read-only? Link to comment Share on other sites More sharing options...
star2 Posted June 16, 2007 Share Posted June 16, 2007 (edited) use this style $ES_READONLY check example #include <GUICONSTANTS.AU3> GUICreate ("TEST", 220, 120) GUICtrlCreateEdit ("This is a test text line 1" & @CRLF & "This is line 2" , 10 , 10 , 200 , 100 , $ES_READONLY) GUICtrlSetFont (-1,10, 600) GUISetState () While 1 $MSG = GUIGetMsg () If $MSG = $GUI_EVENT_CLOSE Then Exit EndIf WEnd Edited June 16, 2007 by star2 [quote]Baby you're all that I want, When you're lyin' here in my armsI'm findin' it hard to believe, We're in heavenAnd love is all that I need , And I found it there in your heartIt isn't too hard to see, We're in heaven .Bryan Adams[/quote].............................................................................[u]AUTOIT[/u] Link to comment Share on other sites More sharing options...
i542 Posted June 16, 2007 Share Posted June 16, 2007 Why newbies not just look at help to find styles? I can do signature me. Link to comment Share on other sites More sharing options...
Suzuran Posted June 16, 2007 Author Share Posted June 16, 2007 Thanks. ^^ Link to comment Share on other sites More sharing options...
GaryFrost Posted June 16, 2007 Share Posted June 16, 2007 If you want to turn it on and off, and have the backcolor different other than grayed: expandcollapse popup#include <GuiConstants.au3> Global Const $WM_COMMAND = 0x0111 Global Const $EN_CHANGE = 0x300 Global Const $EN_SETFOCUS = 0x100 Global Const $EN_KILLFOCUS = 0x200 Global Const $DebugIt = 1 Global $changed = 0 GUICreate("My GUI combo") ; will create a dialog box that when displayed is centered $edit = GUICtrlCreateEdit("This is a test, this is only a test", 80, 50, 270, 170) ; create first item $btn_exit = GUICtrlCreateButton("Exit", 40, 230, 60, 20) $btn_readonly = GUICtrlCreateButton("Read-Only", 120, 230, 60, 20) GUICtrlSetBkColor($edit, 0xFFFFFF) GUISetState() GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND") While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $btn_exit ExitLoop Case $btn_readonly If GUICtrlRead($btn_readonly) == "Read-Only" Then GUICtrlSetData($btn_readonly, "Edit") GUICtrlSendMsg($edit, $EM_SETREADONLY, True, 0) Else GUICtrlSetData($btn_readonly, "Read-Only") GUICtrlSendMsg($edit, $EM_SETREADONLY, False, 0) EndIf EndSwitch WEnd Func _Edit_Changed() If $DebugIt Then _DebugPrint("Edit Changed:" & GUICtrlRead($edit)) If $DebugIt Then _DebugPrint(StringLen(GUICtrlRead($edit))) EndFunc ;==>_Edit_Changed Func _Edit_GotFocus() ;---------------------------------------------------------------------------------------------- If $DebugIt Then _DebugPrint("Edit Got Focus") ;---------------------------------------------------------------------------------------------- EndFunc ;==>_Edit_GotFocus Func _Edit_LostFocus() ;---------------------------------------------------------------------------------------------- If $DebugIt Then _DebugPrint("Edit Lost Focus") ;---------------------------------------------------------------------------------------------- EndFunc ;==>_Edit_LostFocus Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam) Local $nNotifyCode = _HiWord($wParam) Local $nID = _LoWord($wParam) Local $hCtrl = $lParam Switch $nID Case $edit Switch $nNotifyCode Case $EN_CHANGE _Edit_Changed() Case $EN_SETFOCUS _Edit_GotFocus() Case $EN_KILLFOCUS _Edit_LostFocus() EndSwitch EndSwitch ; Proceed the default Autoit3 internal message commands. ; You also can complete let the line out. ; !!! But only 'Return' (without any value) will not proceed ; the default Autoit3-message in the future !!! Return $GUI_RUNDEFMSG EndFunc ;==>MY_WM_COMMAND Func _DebugPrint($s_Text, $line = @ScriptLineNumber, $file = @ScriptName) ConsoleWrite( _ "!===========================================================" & @LF & _ "+======================================================" & @LF & _ "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_Text & @LF & _ "+======================================================" & @LF) EndFunc ;==>_DebugPrint Func _HiWord($x) Return BitShift($x, 16) EndFunc ;==>_HiWord Func _LoWord($x) Return BitAND($x, 0xFFFF) EndFunc ;==>_LoWord SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference. 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