_Kurt Posted December 10, 2006 Posted December 10, 2006 Hey guys, I'm wondering if there is some sort of function or way to read a RichEdit editbox? GuiCtrlRead($richedit) returns 0. Thanks, Kurt PS: why did i use the puking icon for this topic? Awaiting Diablo III..
jpm Posted December 10, 2006 Posted December 10, 2006 Hey guys,I'm wondering if there is some sort of function or way to read a RichEdit editbox? GuiCtrlRead($richedit) returns 0.Thanks,KurtPS: why did i use the puking icon for this topic?RichEdit is not a Control that can be created with GUICtrlCreateEdit so why do you want to read somethink that is not supported?
_Kurt Posted December 10, 2006 Author Posted December 10, 2006 Okay, I was just wondering. I'm not sure how to read it that's all. Sorry for your time Awaiting Diablo III..
GaryFrost Posted December 10, 2006 Posted December 10, 2006 Use the WM_GETTEXT API function for example: expandcollapse popup#include <GUIConstants.au3> #include <Misc.au3> $struct_string = DllStructCreate("char[496]") $oMyError = ObjEvent("AutoIt.Error","MyErrFunc") $oRP = ObjCreate("RICHTEXT.RichtextCtrl.1") GUICreate("Embedded RICHTEXT control Test", 320, 200, -1, -1,BitOr($WS_OVERLAPPEDWINDOW,$WS_VISIBLE,$WS_CLIPSIBLINGS)) $TagsPageC = GuiCtrlCreateLabel('Visit Tags Page', 5, 180, 100, 15, $SS_CENTER) GuiCtrlSetFont($TagsPageC,9,400,4) GuiCtrlSetColor($TagsPageC,0x0000ff) GuiCtrlSetCursor($TagsPageC,0) $AboutC = GUICtrlCreateButton('About',105,177,70,20) $PrefsC = GUICtrlCreateButton('FontSize',175,177,70,20) $StatC = GUICtrlCreateButton('Plain Style',245,177,70,20) $GUIActiveX = GUICtrlCreateObj( $oRP, 10, 10 , 400 , 260 ) GUICtrlSetPos($GUIActiveX,10,10,300,160) With $oRP; Object tag pool .OLEDrag() .Font = 'Arial' .text = "Hello - Au3 supports ActiveX components like the RICHTEXT thanks to SvenP" & @CRLF & 'Try write some text and quit to reload' ;.FileName = @ScriptDir & '\RichText.rtf' ;.BackColor = 0xff00 EndWith GUISetState ();Show GUI $h_REdit = ControlGetHandle("Embedded RICHTEXT control Test","","RichTextWndClass1") _SendMessage($h_REdit, $WM_GETTEXT, 4096, DllStructGetPtr($struct_string)) ConsoleWrite(DllStructGetData($struct_string, 1) & @LF) While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE $oRP.SaveFile( @ScriptDir & "\RichText.rtf", 0 ) ExitLoop Case $msg = $TagsPageC Run(@ComSpec & ' /c start http://www.myplugins.info/guids/typeinfo/typeinfo.php?clsid={3B7C8860-D78F-101B-B9B5-04021C009402}','', @SW_HIDE) Case $msg = $AboutC $oRP.AboutBox() Case $msg = $PrefsC $oRP.SelFontSize = 12 Case $msg = $StatC $oRP.SelBold = False $oRP.SelItalic = False $oRP.SelUnderline = False $oRP.SelFontSize = 8 EndSelect WEnd Exit Func MyErrFunc() Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !" & @CRLF & @CRLF & _ "err.description is: " & @TAB & $oMyError.description & @CRLF & _ "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _ "err.number is: " & @TAB & hex($oMyError.number,8) & @CRLF & _ "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _ "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _ "err.source is: " & @TAB & $oMyError.source & @CRLF & _ "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _ "err.helpcontext is: " & @TAB & $oMyError.helpcontext _ ,5) ; Will automatically continue after 5 seconds Local $err = $oMyError.number If $err = 0 Then $err = -1 SetError($err) ; to check for after this function returns Endfunc SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference.
GaryFrost Posted December 10, 2006 Posted December 10, 2006 can also be used with external edit controls, for example: #include <Misc.au3> Global Const $WM_SETTEXT = 0xC Global Const $WM_GETTEXT = 0xD $struct_string = DllStructCreate("char[496]") DllStructSetData($struct_string, 1, "This is a test") Run("Notepad") WinWaitActive("Untitled - Notepad") $h_edit = ControlGetHandle("Untitled - Notepad","", "Edit1") ConsoleWrite($h_edit & @LF) _SendMessage($h_edit, $WM_SETTEXT, 0, DllStructGetPtr($struct_string)) DllStructSetData($struct_string, 1, "") ConsoleWrite(_SendMessage($h_edit, $WM_GETTEXT, 4096, DllStructGetPtr($struct_string)) & " char(s)" & @LF) ConsoleWrite(DllStructGetData($struct_string, 1) & @LF) SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference.
_Kurt Posted December 10, 2006 Author Posted December 10, 2006 gafrost, Thank you very much for your responses. Once I get to my home computer, I will fix my problem. This will help me out alot, thanks again. Kurt Awaiting Diablo III..
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