McGod Posted November 15, 2007 Posted November 15, 2007 How can I make a edit control so that I can let them input into the edit control, but not let them edit what was already outputted above, like DOS. [indent][center][u]Formerly Chip[/u][/center]~UDFs~[/indent][u]IRC.au3 - Allows you to connect to IRC ServersINetCon.au3 - Connects/Disconnects/Check Status of InternetHardware Key - Creates a unique hardware hashScriptComm - Allows you to communicate between scripts using WM_COPYDATA[/u][indent]~Programs~[/indent][indent]SimonAu3ForumsIRC Bot~Web Site~Web Autoit Example[/indent][indent][b][/b][/indent][u][/u]
dani Posted November 15, 2007 Posted November 15, 2007 How can I make a edit control so that I can let them input into the edit control, but not let them edit what was already outputted above, like DOS.Ehm, just output stuff they write to like, a label or whatever they can not change?So you have an edit control and a control that is writable and can scroll when needed. Whenever stuff is entered in the edit control and enter is pressed or a button is pressed you read the input control, put the text on the other control and empty the edit control...
Valuater Posted November 15, 2007 Posted November 15, 2007 only way i know is to keep them separate input/output expandcollapse popup#include <GUIConstants.au3> #include <Constants.au3> Global $cmdinfo GUICreate("dosprompt", 334, 424, -1, -1) $cmd = GUICtrlCreateInput("", 40, 10, 200, 20) $textorso1 = GUICtrlCreateLabel("CMD:", 10, 10, 25, 20) $Close = GUICtrlCreateButton("Close!", 10, 384, 80, 20) $Clear = GUICtrlCreateButton("Clear", 100, 384, 80, 20) $Closex = GUICtrlCreateButton("sendcommand!", 245, 10, 80, 20) GUICtrlSetState( -1, $GUI_DEFBUTTON) $Outputbox = GUICtrlCreateEdit("[incomminginput]", 10, 55, 314, 300, $ES_READONLY + $ES_MULTILINE + $WS_HSCROLL + $WS_VSCROLL + $ES_AUTOVSCROLL) GUICtrlSetBkColor( -1, "") GUICtrlSetColor( -1, 0xfffafa) GUISetState(@SW_SHOW) recall_command("dir c:\") $msg = 0 While $msg <> $GUI_EVENT_CLOSE $msg = GUIGetMsg() Select Case $msg = $Close ExitLoop Case $msg = $Clear GUICtrlSetData($Outputbox, "[incomminginput]") Case $msg = $Closex $inputz = GUICtrlRead($cmd) recall_command($inputz); EndSelect WEnd Func recall_command($info) $cmdinfo = Run(@ComSpec & " /c " & $info, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD + $STDIN_CHILD) While 1 $line = StdoutRead($cmdinfo) If @error Then Return GUICtrlSetData($Outputbox, GUICtrlRead($Outputbox) & @CRLF & $line); WEnd EndFunc ;==>recall_command 8)
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