philw Posted March 13, 2008 Share Posted March 13, 2008 I read somewhere that on older systems e.g. Win98 files larger than 64k can't be displayed in an edit control, and that this limit applies to Notepad. Anyone know how Wordpad on Win98 gets around this? Link to comment Share on other sites More sharing options...
MrCreatoR Posted March 13, 2008 Share Posted March 13, 2008 Anyone know how Wordpad on Win98 gets around this?Wordpad uses some different kind of control (RTF?), not a standard Edit control. Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
philw Posted March 14, 2008 Author Share Posted March 14, 2008 Is this available in AutoIt? I'm working on an application that has to be able to open large text files (1mb or more). It's fine in later versions of Windows, but I'd like it to be backwards compatible if possible. Link to comment Share on other sites More sharing options...
MrCreatoR Posted March 14, 2008 Share Posted March 14, 2008 Is this available in AutoIt?Yes, check the thread about RichEdit Control. Look at the few last posts, there is a solution to increase the default limit. Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
philw Posted March 15, 2008 Author Share Posted March 15, 2008 (edited) Very useful thread. Thanks for that! Edited March 17, 2008 by philw Link to comment Share on other sites More sharing options...
philw Posted March 17, 2008 Author Share Posted March 17, 2008 I notice that in the thread someone mentions that when opening the example included, Win98 came up with the error: Global Const $WM_USER = 0x400 "Cannot redeclare a constant" I'm getting the same message too. If I delete that particular constant declaration it comes up with other "Cannot redeclare..." messages. I tried removing all the #includes, as I thought they might contain original declarations, but it didn't seem to make a difference. Is there any way round this? Link to comment Share on other sites More sharing options...
MrCreatoR Posted March 17, 2008 Share Posted March 17, 2008 Is there any way round this?Run Syntax check (Ctrl + F5) and then press F4 to jump to the next error, then just comment every line that highlighted (Ctrl + Q). Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
philw Posted March 18, 2008 Author Share Posted March 18, 2008 Thanks MsCreatoR, that worked perfectly! I now have a couple of functioning RichEdit controls. However, I don't seem to be able to resize them. Based on your previous suggestion I have: $hEdit1=GUICtrlCreateEdit("",0,32,$winw,$winh-32,$ES_MULTILINE+$WS_VSCROLL+$ES_WANTRETURN) _SendMessage($hEdit1,$EM_LIMITTEXT,4000000,0) I can open files less than 32k, anything larger won't display. And if I copy and paste a larger amount of text into the control, it just displays the first 30,000 or so characters. I must be doing something wrong! Link to comment Share on other sites More sharing options...
MrCreatoR Posted March 18, 2008 Share Posted March 18, 2008 (edited) _SendMessage needs Handle not CtrlId... you could use GUICtrlGetHandle($hEdit).. but it's better to use GUICtrlSendMsg in this case:$hEdit1=GUICtrlCreateEdit("",0,32,$winw,$winh-32,$ES_MULTILINE+$WS_VSCROLL+$ES_WANTRETURN) GUICtrlSendMsg($hEdit1, $EM_LIMITTEXT, 4000000, 0)Edit:But i am not sure that this works with standard Edit control... Edited March 18, 2008 by MsCreatoR Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
philw Posted March 19, 2008 Author Share Posted March 19, 2008 It doesn't seem to. Not in Win 98 anyway. And you are right - it's standard edit controls I was producing, not rich edit controls. Damn! Having corrected that little mistake, I was able to create and set the size of a rich edit control. However, when I tried to create two of them using tabs, either the tabs but not the controls were displayed, or the whole thing crashed. I think that in the thread above someone asked the question, whether they would work with tabs. Spent most of the day playing around with it, not really knowing what I was doing, and got nowhere! I think I'll have to look for another approach... Link to comment Share on other sites More sharing options...
grham Posted March 19, 2008 Share Posted March 19, 2008 It doesn't seem to. Not in Win 98 anyway. And you are right - it's standard edit controls I was producing, not rich edit controls. Damn!Having corrected that little mistake, I was able to create and set the size of a rich edit control. However, when I tried to create two of them using tabs, either the tabs but not the controls were displayed, or the whole thing crashed. I think that in the thread above someone asked the question, whether they would work with tabs. Spent most of the day playing around with it, not really knowing what I was doing, and got nowhere! I think I'll have to look for another approach...From MSDN:EM_LIMITTEXT MessageSets the text limit of an edit control. The text limit is the maximum amount of text, in TCHARs, that the user can type into the edit control. You can send this message to either an edit control or a rich edit control. For edit controls and Microsoft Rich Edit 1.0, bytes are used. For Rich Edit 2.0 and later, characters are used.... Link to comment Share on other sites More sharing options...
MrCreatoR Posted March 19, 2008 Share Posted March 19, 2008 Well, it's works for me (AutoIt 3.2.8.1 and 3.2.10.0): #include <GuiConstants.au3> ;~ Global Const $EM_LIMITTEXT = 0xC5 $GUI = GUICreate("Test Script", 300, 200) $hEdit = GUICtrlCreateEdit("Please wait...", 10, 20, 280, 160, $ES_MULTILINE+$WS_VSCROLL+$ES_WANTRETURN) GUICtrlSendMsg($hEdit, $EM_LIMITTEXT, -1, 0) GUISetState(@SW_SHOW, $GUI) $sData = "" For $i = 1 To 50000 $sData &= "a" Next GUICtrlSetData($hEdit, $sData & @CRLF & @CRLF & "No Limit(?) :) , StringLen($sData): " & StringLen($sData)) ControlSend($GUI, "", $hEdit, "^{END}") While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd argumentum 1 Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
philw Posted March 24, 2008 Author Share Posted March 24, 2008 Sorry, when I said the method didn't seem to work with Win98, what I meant was, it wouldn't resize the edit control to allow really large text files to be opened. There still seems to be that built-in limit for edit controls on older versions of Windows. Guess I'll just have to try and get my head round rich edit controls! 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