Theos PowerBasic Museum 2017

Archive => Discussion - Legacy Software (PBWIN 9.0+/PBCC 5.0+) => Topic started by: Brian Reynolds on March 24, 2009, 06:03:22 AM

Title: API calls for RichEdit 4.1
Post by: Brian Reynolds on March 24, 2009, 06:03:22 AM
I have downloaded the paper on the Rich Edit control and there are some API calls which don't seem to be available in my Win32API.
For example, I can't find how to call EM_SETHYPHENATEINFO or EM_GETHYPHENATEINFO. There are probably others but they are probably available from the same place as the aforementioned.
Can someone help?
Title: Re: API calls for RichEdit 4.1
Post by: Patrice Terrier on March 24, 2009, 08:13:25 AM
Use the José Roca's include files there (http://www.jose.it-berater.org/smfforum/index.php?topic=3069.msg9539#msg9539)

and don't forget to [applaud] his post, or just say thank you. :)
Title: Re: API calls for RichEdit 4.1
Post by: Brian Reynolds on March 24, 2009, 09:53:27 AM
Patrice,
You'll probably think I'm a bit thick, but I can't see how to download the API headers.
I will applaud when I figure it out.
Title: Re: API calls for RichEdit 4.1
Post by: Patrice Terrier on March 24, 2009, 10:29:58 AM
Brian,

following the provided link, click on the attachement named: WINAPI_111.zip (http://www.jose.it-berater.org/smfforum/index.php?action=dlattach;topic=3069.0;attach=5394)
Title: Re: API calls for RichEdit 4.1
Post by: Brian Reynolds on March 28, 2009, 01:59:22 AM
I finally found it and downloaded and installed the zip file.
However, when I run my PB programme, I get an error on a line which reads: #INCLUDE ONCE "windows.inc".
It seems that the word ONCE is causing the error.
Is there a fix for that?
Title: Re: API calls for RichEdit 4.1
Post by: José Roca on March 28, 2009, 03:50:39 AM
Quote
Is there a fix for that?

Only one: to update the compiler (the headers and code posted here is for PBWIN 9.0 and/or PBCC 5.0).

These are the constants that you need. Add them to your old include files:


'// RichEdit 4.0 messages
%EM_GETPAGE          = %WM_USER + 228
%EM_SETPAGE          = %WM_USER + 229
%EM_GETHYPHENATEINFO = %WM_USER + 230
%EM_SETHYPHENATEINFO = %WM_USER + 231
%EM_GETPAGEROTATE    = %WM_USER + 235
%EM_SETPAGEROTATE    = %WM_USER + 236
%EM_GETCTFMODEBIAS   = %WM_USER + 237
%EM_SETCTFMODEBIAS   = %WM_USER + 238
%EM_GETCTFOPENSTATUS = %WM_USER + 240
%EM_SETCTFOPENSTATUS = %WM_USER + 241
%EM_GETIMECOMPTEXT   = %WM_USER + 242
%EM_ISIME            = %WM_USER + 243
%EM_GETIMEPROPERTY   = %WM_USER + 244

'// These messages control what rich edit does when it comes accross
'// OLE objects during RTF stream in.  Normally rich edit queries the client
'// application only after OleLoad has been called.  With these messages it is possible to
'// set the rich edit control to a mode where it will query the client application before
'// OleLoad is called
%EM_GETQUERYRTFOBJ   = %WM_USER + 269
%EM_SETQUERYRTFOBJ   = %WM_USER + 270