Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenrichedit.h
Go to the documentation of this file.
00001 /* 00002 * Copyright (C) 2000 Jean-Claude Batista 00003 * Copyright (C) 2002 Andriy Palamarchuk 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00018 */ 00019 00020 #ifndef __WINE_RICHEDIT_H 00021 #define __WINE_RICHEDIT_H 00022 00023 #include <pshpack4.h> 00024 00025 #ifdef __cplusplus 00026 extern "C" { 00027 #endif 00028 00029 #ifndef _RICHEDIT_VER 00030 #define _RICHEDIT_VER 0x0210 00031 #endif /* _RICHEDIT_VER */ 00032 00033 #define cchTextLimitDefault 0x7fff 00034 00035 #if defined(_MSC_VER) || defined(RC_INVOKED) 00036 # define MSFTEDIT_CLASS L"RichEdit50W" 00037 #elif defined(__GNUC__) 00038 # define MSFTEDIT_CLASS (const WCHAR []){ 'R','i','c','h','E','d','i','t','5','0','W',0 } 00039 #else 00040 static const WCHAR MSFTEDIT_CLASS[] = { 'R','i','c','h','E','d','i','t','5','0','W',0 }; 00041 #endif 00042 00043 #define RICHEDIT_CLASS20A "RichEdit20A" 00044 00045 #if defined(_MSC_VER) || defined(RC_INVOKED) 00046 # define RICHEDIT_CLASS20W L"RichEdit20W" 00047 #elif defined(__GNUC__) 00048 # define RICHEDIT_CLASS20W (const WCHAR []){ 'R','i','c','h','E','d','i','t','2','0','W',0 } 00049 #else 00050 static const WCHAR RICHEDIT_CLASS20W[] = { 'R','i','c','h','E','d','i','t','2','0','W',0 }; 00051 #endif 00052 #define RICHEDIT_CLASS10A "RICHEDIT" 00053 00054 #if (_RICHEDIT_VER >= 0x0200 ) 00055 #define RICHEDIT_CLASS WINELIB_NAME_AW(RICHEDIT_CLASS20) 00056 #else 00057 #define RICHEDIT_CLASS RICHEDIT_CLASS10A 00058 #endif 00059 00060 #ifndef WM_NOTIFY 00061 #define WM_NOTIFY 0x004e 00062 #endif 00063 #ifndef WM_CONTEXTMENU 00064 #define WM_CONTEXTMENU 0x007b 00065 #endif 00066 #ifndef WM_UNICHAR 00067 #define WM_UNICHAR 0x0109 00068 #endif 00069 #ifndef WM_PRINTCLIENT 00070 #define WM_PRINTCLIENT 0x0318 00071 #endif 00072 00073 #ifndef EM_GETLIMITTEXT 00074 #define EM_GETLIMITTEXT (WM_USER + 37) 00075 #endif 00076 #ifndef EM_POSFROMCHAR 00077 #define EM_POSFROMCHAR (WM_USER + 38) 00078 #define EM_CHARFROMPOS (WM_USER + 39) 00079 #endif 00080 #ifndef EM_SCROLLCARET 00081 #define EM_SCROLLCARET (WM_USER + 49) 00082 #endif 00083 #define EM_CANPASTE (WM_USER + 50) 00084 #define EM_DISPLAYBAND (WM_USER + 51) 00085 #define EM_EXGETSEL (WM_USER + 52) 00086 #define EM_EXLIMITTEXT (WM_USER + 53) 00087 #define EM_EXLINEFROMCHAR (WM_USER + 54) 00088 #define EM_EXSETSEL (WM_USER + 55) 00089 #define EM_FINDTEXT (WM_USER + 56) 00090 #define EM_FORMATRANGE (WM_USER + 57) 00091 #define EM_GETCHARFORMAT (WM_USER + 58) 00092 #define EM_GETEVENTMASK (WM_USER + 59) 00093 #define EM_GETOLEINTERFACE (WM_USER + 60) 00094 #define EM_GETPARAFORMAT (WM_USER + 61) 00095 #define EM_GETSELTEXT (WM_USER + 62) 00096 #define EM_HIDESELECTION (WM_USER + 63) 00097 #define EM_PASTESPECIAL (WM_USER + 64) 00098 #define EM_REQUESTRESIZE (WM_USER + 65) 00099 #define EM_SELECTIONTYPE (WM_USER + 66) 00100 #define EM_SETBKGNDCOLOR (WM_USER + 67) 00101 #define EM_SETCHARFORMAT (WM_USER + 68) 00102 #define EM_SETEVENTMASK (WM_USER + 69) 00103 #define EM_SETOLECALLBACK (WM_USER + 70) 00104 #define EM_SETPARAFORMAT (WM_USER + 71) 00105 #define EM_SETTARGETDEVICE (WM_USER + 72) 00106 #define EM_STREAMIN (WM_USER + 73) 00107 #define EM_STREAMOUT (WM_USER + 74) 00108 #define EM_GETTEXTRANGE (WM_USER + 75) 00109 #define EM_FINDWORDBREAK (WM_USER + 76) 00110 #define EM_SETOPTIONS (WM_USER + 77) 00111 #define EM_GETOPTIONS (WM_USER + 78) 00112 #define EM_FINDTEXTEX (WM_USER + 79) 00113 #define EM_GETWORDBREAKPROCEX (WM_USER + 80) 00114 #define EM_SETWORDBREAKPROCEX (WM_USER + 81) 00115 00116 #define EM_SETUNDOLIMIT (WM_USER + 82) 00117 #define EM_REDO (WM_USER + 84) 00118 #define EM_CANREDO (WM_USER + 85) 00119 #define EM_GETUNDONAME (WM_USER + 86) 00120 #define EM_GETREDONAME (WM_USER + 87) 00121 #define EM_STOPGROUPTYPING (WM_USER + 88) 00122 00123 #define EM_SETTEXTMODE (WM_USER + 89) 00124 #define EM_GETTEXTMODE (WM_USER + 90) 00125 #define EM_AUTOURLDETECT (WM_USER + 91) 00126 #define EM_GETAUTOURLDETECT (WM_USER + 92) 00127 #define EM_SETPALETTE (WM_USER + 93) 00128 #define EM_GETTEXTEX (WM_USER + 94) 00129 #define EM_GETTEXTLENGTHEX (WM_USER + 95) 00130 #define EM_SHOWSCROLLBAR (WM_USER + 96) 00131 #define EM_SETTEXTEX (WM_USER + 97) 00132 00133 #define EM_SETPUNCTUATION (WM_USER + 100) 00134 #define EM_GETPUNCTUATION (WM_USER + 101) 00135 #define EM_SETWORDWRAPMODE (WM_USER + 102) 00136 #define EM_GETWORDWRAPMODE (WM_USER + 103) 00137 #define EM_SETIMECOLOR (WM_USER + 104) 00138 #define EM_GETIMECOLOR (WM_USER + 105) 00139 #define EM_SETIMEOPTIONS (WM_USER + 106) 00140 #define EM_GETIMEOPTIONS (WM_USER + 107) 00141 #define EM_CONVPOSITION (WM_USER + 108) 00142 00143 #define EM_SETLANGOPTIONS (WM_USER + 120) 00144 #define EM_GETLANGOPTIONS (WM_USER + 121) 00145 #define EM_GETIMECOMPMODE (WM_USER + 122) 00146 00147 #define EM_FINDTEXTW (WM_USER + 123) 00148 #define EM_FINDTEXTEXW (WM_USER + 124) 00149 00150 #define EM_RECONVERSION (WM_USER + 125) 00151 #define EM_SETIMEMODEBIAS (WM_USER + 126) 00152 #define EM_GETIMEMODEBIAS (WM_USER + 127) 00153 00154 #define EM_SETBIDIOPTIONS (WM_USER + 200) 00155 #define EM_GETBIDIOPTIONS (WM_USER + 201) 00156 00157 #define EM_SETTYPOGRAPHYOPTIONS (WM_USER + 202) 00158 #define EM_GETTYPOGRAPHYOPTIONS (WM_USER + 203) 00159 00160 #define EM_SETEDITSTYLE (WM_USER + 204) 00161 #define EM_GETEDITSTYLE (WM_USER + 205) 00162 00163 #define EM_OUTLINE (WM_USER + 220) 00164 00165 #define EM_GETSCROLLPOS (WM_USER + 221) 00166 #define EM_SETSCROLLPOS (WM_USER + 222) 00167 00168 #define EM_SETFONTSIZE (WM_USER + 223) 00169 #define EM_GETZOOM (WM_USER + 224) 00170 #define EM_SETZOOM (WM_USER + 225) 00171 #define EM_GETVIEWKIND (WM_USER + 226) 00172 #define EM_SETVIEWKIND (WM_USER + 227) 00173 00174 #define EM_GETPAGE (WM_USER + 228) 00175 #define EM_SETPAGE (WM_USER + 229) 00176 #define EM_GETHYPHENATEINFO (WM_USER + 230) 00177 #define EM_SETHYPHENATEINFO (WM_USER + 231) 00178 #define EM_GETPAGEROTATE (WM_USER + 235) 00179 #define EM_SETPAGEROTATE (WM_USER + 236) 00180 #define EM_GETCTFMODEBIAS (WM_USER + 237) 00181 #define EM_SETCTFMODEBIAS (WM_USER + 238) 00182 #define EM_GETCTFOPENSTATUS (WM_USER + 240) 00183 #define EM_SETCTFOPENSTATUS (WM_USER + 241) 00184 #define EM_GETIMECOMPTEXT (WM_USER + 242) 00185 #define EM_ISIME (WM_USER + 243) 00186 #define EM_GETIMEPROPERTY (WM_USER + 244) 00187 #define EM_GETQUERYRTFOBJ (WM_USER + 269) 00188 #define EM_SETQUERYRTFOBJ (WM_USER + 270) 00189 00190 /* New notifications */ 00191 #define EN_MSGFILTER 0x0700 00192 #define EN_REQUESTRESIZE 0x0701 00193 #define EN_SELCHANGE 0x0702 00194 #define EN_DROPFILES 0x0703 00195 #define EN_PROTECTED 0x0704 00196 #define EN_CORRECTTEXT 0x0705 00197 #define EN_STOPNOUNDO 0x0706 00198 #define EN_IMECHANGE 0x0707 00199 #define EN_SAVECLIPBOARD 0x0708 00200 #define EN_OLEOPFAILED 0x0709 00201 #define EN_OBJECTPOSITIONS 0x070a 00202 #define EN_LINK 0x070b 00203 #define EN_DRAGDROPDONE 0x070c 00204 #define EN_PARAGRAPHEXPANDED 0x070d 00205 #define EN_PAGECHANGE 0x070e 00206 #define EN_LOWFIRTF 0x070f 00207 #define EN_ALIGNLTR 0x0710 00208 #define EN_ALIGNRTL 0x0711 00209 00210 00211 typedef DWORD (CALLBACK * EDITSTREAMCALLBACK)( DWORD_PTR, LPBYTE, LONG, LONG * ); 00212 00213 00214 #define yHeightCharPtsMost 1638 00215 #define lDefaultTab 720 00216 00217 /* tab stops number limit */ 00218 #define MAX_TAB_STOPS 0x00000020 00219 00220 #define MAX_TABLE_CELLS 63 00221 00222 /* Rich edit control styles */ 00223 #define ES_NOOLEDRAGDROP 0x00000008 00224 #define ES_DISABLENOSCROLL 0x00002000 00225 #define ES_SUNKEN 0x00004000 00226 #define ES_SAVESEL 0x00008000 00227 #define ES_SELFIME 0x00040000 00228 #define ES_NOIME 0x00080000 00229 #define ES_VERTICAL 0x00400000 00230 #define ES_SELECTIONBAR 0x01000000 00231 #define ES_EX_NOCALLOLEINIT 0x01000000 00232 00233 /* the character formatting options */ 00234 #define SCF_DEFAULT 0x00000000 00235 #define SCF_SELECTION 0x00000001 00236 #define SCF_WORD 0x00000002 00237 #define SCF_ALL 0x00000004 00238 #define SCF_USEUIRULES 0x00000008 00239 #define SCF_ASSOCIATEFONT 0x00000010 00240 #define SCF_NOKBUPDATE 0x00000020 00241 #define SCF_ASSOCIATEFONT2 0x00000040 00242 00243 #ifndef WM_NOTIFY 00244 typedef struct _nmhdr 00245 { 00246 HWND hwndFrom; 00247 UINT idFrom; 00248 UINT code; 00249 } NMHDR; 00250 #endif 00251 00252 /* CHARFORMAT structure */ 00253 typedef struct _charformat 00254 { 00255 UINT cbSize; 00256 DWORD dwMask; 00257 DWORD dwEffects; 00258 LONG yHeight; 00259 LONG yOffset; 00260 COLORREF crTextColor; 00261 BYTE bCharSet; 00262 BYTE bPitchAndFamily; 00263 char szFaceName[LF_FACESIZE]; 00264 } CHARFORMATA; 00265 00266 typedef struct _charformatw 00267 { 00268 UINT cbSize; 00269 DWORD dwMask; 00270 DWORD dwEffects; 00271 LONG yHeight; 00272 LONG yOffset; 00273 COLORREF crTextColor; 00274 BYTE bCharSet; 00275 BYTE bPitchAndFamily; 00276 WCHAR szFaceName[LF_FACESIZE]; 00277 } CHARFORMATW; 00278 00279 DECL_WINELIB_TYPE_AW(CHARFORMAT) 00280 00281 typedef struct _charformat2a { 00282 UINT cbSize; 00283 DWORD dwMask; 00284 DWORD dwEffects; 00285 LONG yHeight; 00286 LONG yOffset; 00287 COLORREF crTextColor; 00288 BYTE bCharSet; 00289 BYTE bPitchAndFamily; 00290 char szFaceName[LF_FACESIZE]; 00291 WORD wWeight; 00292 SHORT sSpacing; 00293 COLORREF crBackColor; 00294 LCID lcid; 00295 DWORD dwReserved; 00296 SHORT sStyle; 00297 WORD wKerning; 00298 BYTE bUnderlineType; 00299 BYTE bAnimation; 00300 BYTE bRevAuthor; 00301 } CHARFORMAT2A; 00302 00303 typedef struct _charformat2w { 00304 UINT cbSize; 00305 DWORD dwMask; 00306 DWORD dwEffects; 00307 LONG yHeight; 00308 LONG yOffset; 00309 COLORREF crTextColor; 00310 BYTE bCharSet; 00311 BYTE bPitchAndFamily; 00312 WCHAR szFaceName[LF_FACESIZE]; 00313 WORD wWeight; 00314 SHORT sSpacing; 00315 COLORREF crBackColor; 00316 LCID lcid; 00317 DWORD dwReserved; 00318 SHORT sStyle; 00319 WORD wKerning; 00320 BYTE bUnderlineType; 00321 BYTE bAnimation; 00322 BYTE bRevAuthor; 00323 } CHARFORMAT2W; 00324 00325 DECL_WINELIB_TYPE_AW(CHARFORMAT2) 00326 00327 #define CHARFORMATDELTA (sizeof(CHARFORMAT2) - sizeof(CHARFORMAT)) 00328 00329 /* CHARFORMAT masks */ 00330 #define CFM_BOLD 0x00000001 00331 #define CFM_ITALIC 0x00000002 00332 #define CFM_UNDERLINE 0x00000004 00333 #define CFM_STRIKEOUT 0x00000008 00334 #define CFM_PROTECTED 0x00000010 00335 #define CFM_LINK 0x00000020 00336 #define CFM_SMALLCAPS 0x00000040 00337 #define CFM_ALLCAPS 0x00000080 00338 #define CFM_HIDDEN 0x00000100 00339 #define CFM_OUTLINE 0x00000200 00340 #define CFM_SHADOW 0x00000400 00341 #define CFM_EMBOSS 0x00000800 00342 #define CFM_IMPRINT 0x00001000 00343 #define CFM_DISABLED 0x00002000 00344 #define CFM_REVISED 0x00004000 00345 #define CFM_REVAUTHOR 0x00008000 00346 #define CFM_SUBSCRIPT 0x00030000 00347 #define CFM_SUPERSCRIPT 0x00030000 00348 #define CFM_ANIMATION 0x00040000 00349 #define CFM_STYLE 0x00080000 00350 #define CFM_KERNING 0x00100000 00351 #define CFM_SPACING 0x00200000 00352 #define CFM_WEIGHT 0x00400000 00353 #define CFM_UNDERLINETYPE 0x00800000 00354 #define CFM_LCID 0x02000000 00355 #define CFM_BACKCOLOR 0x04000000 00356 #define CFM_CHARSET 0x08000000 00357 #define CFM_OFFSET 0x10000000 00358 #define CFM_FACE 0x20000000 00359 #define CFM_COLOR 0x40000000 00360 #define CFM_SIZE 0x80000000 00361 00362 #define CFM_EFFECTS (CFM_BOLD | \ 00363 CFM_ITALIC | \ 00364 CFM_UNDERLINE | \ 00365 CFM_COLOR | \ 00366 CFM_STRIKEOUT | \ 00367 CFE_PROTECTED | \ 00368 CFM_LINK) 00369 00370 #define CFM_EFFECTS2 (CFM_EFFECTS | \ 00371 CFM_DISABLED | \ 00372 CFM_SMALLCAPS | \ 00373 CFM_ALLCAPS | \ 00374 CFM_HIDDEN | \ 00375 CFM_OUTLINE | \ 00376 CFM_SHADOW | \ 00377 CFM_EMBOSS | \ 00378 CFM_IMPRINT | \ 00379 CFM_DISABLED | \ 00380 CFM_REVISED | \ 00381 CFM_SUBSCRIPT | \ 00382 CFM_SUPERSCRIPT | \ 00383 CFM_BACKCOLOR) 00384 00385 #define CFM_ALL (CFM_EFFECTS | \ 00386 CFM_SIZE | \ 00387 CFM_FACE | \ 00388 CFM_OFFSET | \ 00389 CFM_CHARSET) 00390 00391 #define CFM_ALL2 (CFM_ALL | \ 00392 CFM_EFFECTS2 | \ 00393 CFM_BACKCOLOR | \ 00394 CFM_LCID | \ 00395 CFM_UNDERLINETYPE | \ 00396 CFM_WEIGHT | \ 00397 CFM_REVAUTHOR | \ 00398 CFM_SPACING | \ 00399 CFM_KERNING | \ 00400 CFM_STYLE | \ 00401 CFM_ANIMATION) 00402 00403 /* CHARFORMAT effects */ 00404 #define CFE_BOLD 0x00000001 00405 #define CFE_ITALIC 0x00000002 00406 #define CFE_UNDERLINE 0x00000004 00407 #define CFE_STRIKEOUT 0x00000008 00408 #define CFE_PROTECTED 0x00000010 00409 #define CFE_LINK 0x00000020 00410 #define CFE_SUBSCRIPT 0x00010000 00411 #define CFE_SUPERSCRIPT 0x00020000 00412 #define CFE_AUTOCOLOR 0x40000000 00413 00414 #define CFE_SMALLCAPS CFM_SMALLCAPS 00415 #define CFE_ALLCAPS CFM_ALLCAPS 00416 #define CFE_HIDDEN CFM_HIDDEN 00417 #define CFE_OUTLINE CFM_OUTLINE 00418 #define CFE_SHADOW CFM_SHADOW 00419 #define CFE_EMBOSS CFM_EMBOSS 00420 #define CFE_IMPRINT CFM_IMPRINT 00421 #define CFE_DISABLED CFM_DISABLED 00422 #define CFE_REVISED CFM_REVISED 00423 #define CFE_AUTOBACKCOLOR CFM_BACKCOLOR 00424 00425 #define CFU_UNDERLINENONE 0x00 00426 #define CFU_UNDERLINE 0x01 00427 #define CFU_UNDERLINEWORD 0x02 00428 #define CFU_UNDERLINEDOUBLE 0x03 00429 #define CFU_UNDERLINEDOTTED 0x04 00430 #define CFU_UNDERLINEDASH 0x05 00431 #define CFU_UNDERLINEDASHDOT 0x06 00432 #define CFU_UNDERLINEDASHDOTDOT 0x07 00433 #define CFU_UNDERLINEWAVE 0x08 00434 #define CFU_UNDERLINETHICK 0x09 00435 #define CFU_UNDERLINEHAIRLINE 0x0a 00436 #define CFU_UNDERLINEDOUBLEWAVE 0x0b 00437 #define CFU_UNDERLINEHEAVYWAVE 0x0c 00438 #define CFU_UNDERLINELONGDASH 0x0d 00439 #define CFU_UNDERLINETHICKDASH 0x0e 00440 #define CFU_UNDERLINETHICKDASHDOT 0x0f 00441 #define CFU_UNDERLINETHICKDASHDOTDOT 0x10 00442 #define CFU_UNDERLINETHICKDOTTED 0x11 00443 #define CFU_UNDERLINETHICKLONGDASH 0x12 00444 #define CFU_INVERT 0xFE 00445 #define CFU_CF1UNDERLINE 0xFF 00446 00447 /* ECO operations */ 00448 #define ECOOP_SET 0x0001 00449 #define ECOOP_OR 0x0002 00450 #define ECOOP_AND 0x0003 00451 #define ECOOP_XOR 0x0004 00452 00453 /* edit control options */ 00454 #define ECO_AUTOWORDSELECTION 0x00000001 00455 #define ECO_AUTOVSCROLL 0x00000040 00456 #define ECO_AUTOHSCROLL 0x00000080 00457 #define ECO_NOHIDESEL 0x00000100 00458 #define ECO_READONLY 0x00000800 00459 #define ECO_WANTRETURN 0x00001000 00460 #define ECO_SAVESEL 0x00008000 00461 #define ECO_SELECTIONBAR 0x01000000 00462 #define ECO_VERTICAL 0x00400000 00463 00464 /* Event notification masks */ 00465 #define ENM_NONE 0x00000000 00466 #define ENM_CHANGE 0x00000001 00467 #define ENM_UPDATE 0x00000002 00468 #define ENM_SCROLL 0x00000004 00469 #define ENM_SCROLLEVENTS 0x00000008 00470 #define ENM_DRAGDROPDONE 0x00000010 00471 #define ENM_PARAGRAPHEXPANDED 0x00000020 00472 #define ENM_PAGECHANGE 0x00000040 00473 #define ENM_KEYEVENTS 0x00010000 00474 #define ENM_MOUSEEVENTS 0x00020000 00475 #define ENM_REQUESTRESIZE 0x00040000 00476 #define ENM_SELCHANGE 0x00080000 00477 #define ENM_DROPFILES 0x00100000 00478 #define ENM_PROTECTED 0x00200000 00479 #define ENM_CORRECTTEXT 0x00400000 00480 #define ENM_IMECHANGE 0x00800000 00481 #define ENM_LANGCHANGE 0x01000000 00482 #define ENM_OBJECTPOSITIONS 0x02000000 00483 #define ENM_LINK 0x04000000 00484 #define ENM_LOWFIRTF 0x08000000 00485 00486 typedef struct _bidioptions 00487 { 00488 UINT cbSize; 00489 WORD wMask; 00490 WORD wEffects; 00491 } BIDIOPTIONS; 00492 00493 #ifndef __RICHEDIT_CHARRANGE_DEFINED 00494 #define __RICHEDIT_CHARRANGE_DEFINED 00495 00496 typedef struct _charrange 00497 { 00498 LONG cpMin; 00499 LONG cpMax; 00500 } CHARRANGE; 00501 00502 #endif /* __RICHEDIT_CHARRANGE_DEFINED */ 00503 00504 typedef struct _textrange 00505 { 00506 CHARRANGE chrg; 00507 LPSTR lpstrText; 00508 } TEXTRANGEA; 00509 00510 typedef struct _textrangew 00511 { 00512 CHARRANGE chrg; 00513 LPWSTR lpstrText; 00514 } TEXTRANGEW; 00515 00516 DECL_WINELIB_TYPE_AW(TEXTRANGE) 00517 00518 typedef struct _editstream 00519 { 00520 DWORD_PTR dwCookie; 00521 DWORD dwError; 00522 EDITSTREAMCALLBACK pfnCallback; 00523 } EDITSTREAM; 00524 00525 typedef struct _compcolor { 00526 COLORREF crText; 00527 COLORREF crBackground; 00528 DWORD dwEffects; 00529 } COMPCOLOR; 00530 00531 typedef struct _encorrecttext { 00532 NMHDR nmhdr; 00533 CHARRANGE chrg; 00534 WORD seltyp; 00535 } ENCORRECTTEXT; 00536 00537 typedef struct _endropfiles { 00538 NMHDR nmhdr; 00539 HANDLE hDrop; 00540 LONG cp; 00541 BOOL fProtected; 00542 } ENDROPFILES; 00543 00544 typedef struct _enlink { 00545 NMHDR nmhdr; 00546 UINT msg; 00547 WPARAM wParam; 00548 LPARAM lParam; 00549 CHARRANGE chrg; 00550 } ENLINK; 00551 00552 typedef struct _enlowfirtf { 00553 NMHDR nmhdr; 00554 char *szControl; 00555 } ENLOWFIRTF; 00556 00557 typedef struct { 00558 NMHDR nmhdr; 00559 LONG iob; 00560 LONG lOper; 00561 HRESULT hr; 00562 } ENOLEOPFAILED; 00563 00564 typedef struct _enprotected { 00565 NMHDR nmhdr; 00566 UINT msg; 00567 WPARAM wParam; 00568 LPARAM lParam; 00569 CHARRANGE chrg; 00570 } ENPROTECTED, *LPENPROTECTED; 00571 00572 typedef struct _ensaveclipboard { 00573 NMHDR nmhdr; 00574 LONG cObjectCount; 00575 LONG cch; 00576 } ENSAVECLIPBOARD; 00577 00578 typedef struct _findtextA { 00579 CHARRANGE chrg; 00580 LPCSTR lpstrText; 00581 } FINDTEXTA; 00582 00583 typedef struct _findtextW { 00584 CHARRANGE chrg; 00585 LPCWSTR lpstrText; 00586 } FINDTEXTW; 00587 00588 DECL_WINELIB_TYPE_AW(FINDTEXT) 00589 00590 typedef struct _findtextexA { 00591 CHARRANGE chrg; 00592 LPCSTR lpstrText; 00593 CHARRANGE chrgText; 00594 } FINDTEXTEXA; 00595 00596 typedef struct _findtextexW { 00597 CHARRANGE chrg; 00598 LPCWSTR lpstrText; 00599 CHARRANGE chrgText; 00600 } FINDTEXTEXW; 00601 00602 DECL_WINELIB_TYPE_AW(FINDTEXTEX) 00603 00604 typedef struct _formatrange { 00605 HDC hdc; 00606 HDC hdcTarget; 00607 RECT rc; 00608 RECT rcPage; 00609 CHARRANGE chrg; 00610 } FORMATRANGE; 00611 00612 typedef enum tagKHYPH 00613 { 00614 khyphNil = 0, 00615 khyphNormal = 1, 00616 khyphAddBefore = 2, 00617 khyphChangeBefore = 3, 00618 khyphDeleteBefore = 4, 00619 khyphChangeAfter = 5, 00620 khyphDelAndChange = 6 00621 } KHYPH; 00622 00623 typedef struct hyphresult 00624 { 00625 KHYPH khyph; 00626 LONG ichHyph; 00627 WCHAR chHyph; 00628 } HYPHRESULT; 00629 00630 typedef struct tagHyphenateInfo 00631 { 00632 SHORT cbSize; 00633 SHORT dxHyphenateZone; 00634 void (WINAPI* pfnHyphenate)(WCHAR*, LANGID, LONG, HYPHRESULT*); 00635 } HYPHENATEINFO; 00636 00637 typedef struct _msgfilter { 00638 NMHDR nmhdr; 00639 UINT msg; 00640 WPARAM wParam; 00641 LPARAM lParam; 00642 } MSGFILTER; 00643 00644 typedef struct _objectpositions { 00645 NMHDR nmhdr; 00646 LONG cObjectCount; 00647 LONG *pcpPositions; 00648 } OBJECTPOSITIONS; 00649 00650 typedef struct _paraformat { 00651 UINT cbSize; 00652 DWORD dwMask; 00653 WORD wNumbering; 00654 WORD wReserved; 00655 LONG dxStartIndent; 00656 LONG dxRightIndent; 00657 LONG dxOffset; 00658 WORD wAlignment; 00659 SHORT cTabCount; 00660 LONG rgxTabs[MAX_TAB_STOPS]; 00661 } PARAFORMAT; 00662 00663 typedef struct _paraformat2 { 00664 UINT cbSize; 00665 DWORD dwMask; 00666 WORD wNumbering; 00667 WORD wEffects; 00668 LONG dxStartIndent; 00669 LONG dxRightIndent; 00670 LONG dxOffset; 00671 WORD wAlignment; 00672 SHORT cTabCount; 00673 LONG rgxTabs[MAX_TAB_STOPS]; 00674 LONG dySpaceBefore, dySpaceAfter, dyLineSpacing; 00675 SHORT sStyle; 00676 BYTE bLineSpacingRule, bOutlineLevel; 00677 WORD wShadingWeight, wShadingStyle; 00678 WORD wNumberingStart, wNumberingStyle, wNumberingTab; 00679 WORD wBorderSpace, wBorderWidth, wBorders; 00680 } PARAFORMAT2; 00681 00682 typedef struct _selchange { 00683 NMHDR nmhdr; 00684 CHARRANGE chrg; 00685 WORD seltyp; 00686 } SELCHANGE; 00687 00688 typedef struct _reqresize { 00689 NMHDR nmhdr; 00690 RECT rc; 00691 } REQRESIZE; 00692 00693 typedef struct _repastespecial { 00694 DWORD dwAspect; 00695 DWORD dwParam; 00696 } REPASTESPECIAL; 00697 00698 typedef struct _punctuation { 00699 UINT iSize; 00700 LPSTR szPunctuation; 00701 } PUNCTUATION; 00702 00703 typedef struct _gettextex { 00704 DWORD cb; 00705 DWORD flags; 00706 UINT codepage; 00707 LPCSTR lpDefaultChar; 00708 LPBOOL lpUsedDefChar; 00709 } GETTEXTEX; 00710 00711 typedef struct _imecomptext { 00712 LONG cb; 00713 DWORD flags; 00714 } IMECOMPTEXT; 00715 00716 void WINAPI HyphenateProc(WCHAR*, LANGID, LONG, HYPHRESULT*); 00717 00718 #define SF_TEXT 0x00000001 00719 #define SF_RTF 0x00000002 00720 #define SF_RTFNOOBJS 0x00000003 00721 #define SF_TEXTIZED 0x00000004 00722 #define SF_UNICODE 0x00000010 00723 #define SF_USECODEPAGE 0x00000020 00724 #define SF_NCRFORNONASCII 0x00000040 00725 #define SF_RTFVAL 0x00000700 00726 00727 /* BIDIOPTIONS.wMask flag values */ 00728 #define BOM_DEFPARADIR 0x00000001 00729 #define BOM_PLAINTEXT 0x00000002 00730 #define BOM_NEUTRALOVERRIDE 0x00000004 00731 #define BOM_CONTEXTREADING 0x00000008 00732 #define BOM_CONTEXTALIGNMENT 0x00000010 00733 #define BOM_LEGACYBIDICLASS 0x00000040 00734 00735 /* BIDIOPTIONS.wEffects flag values */ 00736 #define BOE_RTLDIR 0x00000001 00737 #define BOE_PLAINTEXT 0x00000002 00738 #define BOE_NEUTRALOVERRIDE 0x00000004 00739 #define BOE_CONTEXTREADING 0x00000008 00740 #define BOE_CONTEXTALIGNMENT 0x00000010 00741 #define BOE_LEGACYBIDICLASS 0x00000040 00742 00743 /* Clipboard formats */ 00744 #define CF_RTF TEXT("Rich Text Format") 00745 #define CF_RTFNOOBJS TEXT("Rich Text Format Without Objects") 00746 #define CF_RETEXTOBJ TEXT("RichEdit Text and Objects") 00747 00748 /* Mode bias wParam values for EM_SETCTFMODEBIAS message */ 00749 #define CTFMODEBIAS_DEFAULT 0x00000000 00750 #define CTFMODEBIAS_FILENAME 0x00000001 00751 #define CTFMODEBIAS_NAME 0x00000002 00752 #define CTFMODEBIAS_READING 0x00000003 00753 #define CTFMODEBIAS_DATETIME 0x00000004 00754 #define CTFMODEBIAS_CONVERSATION 0x00000005 00755 #define CTFMODEBIAS_NUMERIC 0x00000006 00756 #define CTFMODEBIAS_HIRAGANA 0x00000007 00757 #define CTFMODEBIAS_KATAKANA 0x00000008 00758 #define CTFMODEBIAS_HANGUL 0x00000009 00759 #define CTFMODEBIAS_HALFWIDTHKATAKANA 0x0000000a 00760 #define CTFMODEBIAS_FULLWIDTHALPHANUMERIC 0x0000000b 00761 #define CTFMODEBIAS_HALFWIDTHALPHANUMERIC 0x0000000c 00762 00763 #define EMO_EXIT 0x00000000 00764 #define EMO_ENTER 0x00000001 00765 #define EMO_PROMOTE 0x00000002 00766 #define EMO_EXPAND 0x00000003 00767 #define EMO_MOVESELECTION 0x00000004 00768 #define EMO_GETVIEWMODE 0x00000005 00769 00770 #define EMO_EXPANDSELECTION 0x00000000 00771 #define EMO_EXPANDDOCUMENT 0x00000001 00772 00773 /* Page Rotate values used in wParam of EM_SETPAGEROTATE message */ 00774 #define EPR_0 0x00000000 00775 #define EPR_270 0x00000001 00776 #define EPR_180 0x00000002 00777 #define EPR_90 0x00000003 00778 00779 /* Find flags for wParam of EM_FINDTEXT message */ 00780 #define FR_MATCHDIAC 0x20000000 00781 #define FR_MATCHKASHIDA 0x40000000 00782 #define FR_MATCHALEFHAMZA 0x80000000 00783 00784 /* IME Compatibility Mode return values for EM_GETIMECOMPMODE message */ 00785 #define ICM_NOTOPEN 0x00000000 00786 #define ICM_LEVEL3 0x00000001 00787 #define ICM_LEVEL2 0x00000002 00788 #define ICM_LEVEL2_5 0x00000003 00789 #define ICM_LEVEL2_SUI 0x00000004 00790 #define ICM_CTF 0x00000005 00791 00792 /* Flags value for IMECOMPTEXT structure */ 00793 #define ICT_RESULTREADSTR 0x00000001 00794 00795 /* Input Method Flags used in EM_SETLANGOPTIONS message */ 00796 #define IMF_AUTOKEYBOARD 0x00000001 00797 #define IMF_AUTOFONT 0x00000002 00798 #define IMF_IMECANCELCOMPLETE 0x00000004 00799 #define IMF_IMEALWAYSSENDNOTIFY 0x00000008 00800 #define IMF_AUTOFONTSIZEADJUST 0x00000010 00801 #define IMF_UIFONTS 0x00000020 00802 #define IMF_DUALFONT 0x00000080 00803 00804 /* Parameters values for the EM_SETIMEMODEBIAS message */ 00805 #define IMF_SMODE_PLAURALCLAUSE 0x00000001 00806 #define IMF_SMODE_NONE 0x00000002 00807 00808 /* Parameters of the EM_SETIMEOPTIONS message */ 00809 #define IMF_FORCENONE 0x00000001 00810 #define IMF_FORCEENABLE 0x00000002 00811 #define IMF_FORCEDISABLE 0x00000004 00812 #define IMF_CLOSESTATUSWINDOW 0x00000008 00813 #define IMF_VERTICAL 0x00000020 00814 #define IMF_FORCEACTIVE 0x00000040 00815 #define IMF_FORCEINACTIVE 0x00000080 00816 #define IMF_FORCEREMEMBER 0x00000100 00817 #define IMF_MULTIPLEEDIT 0x00000400 00818 00819 /* return values of the EM_SELECTION_TYPE message */ 00820 #define SEL_EMPTY 0x00000000 00821 #define SEL_TEXT 0x00000001 00822 #define SEL_OBJECT 0x00000002 00823 #define SEL_MULTICHAR 0x00000004 00824 #define SEL_MULTIOBJECT 0x00000008 00825 00826 /* ENOLEOPFAILED.lOper value that indicates operation failure */ 00827 #define OLEOP_DOVERB 0x00000001 00828 00829 /* punctionation type values for wParam of EM_SETPUNCTUATION message */ 00830 #define PC_FOLLOWING 0x00000001 00831 #define PC_LEADING 0x00000002 00832 #define PC_OVERFLOW 0x00000003 00833 #define PC_DELIMITER 0x00000004 00834 00835 /* mask values in the PARAFORMAT structure */ 00836 #define PFM_STARTINDENT 0x00000001 00837 #define PFM_RIGHTINDENT 0x00000002 00838 #define PFM_OFFSET 0x00000004 00839 #define PFM_ALIGNMENT 0x00000008 00840 #define PFM_TABSTOPS 0x00000010 00841 #define PFM_NUMBERING 0x00000020 00842 #define PFM_OFFSETINDENT 0x80000000 00843 00844 /* mask values in the PARAFORMAT2 structure */ 00845 #define PFM_SPACEBEFORE 0x00000040 00846 #define PFM_SPACEAFTER 0x00000080 00847 #define PFM_LINESPACING 0x00000100 00848 #define PFM_STYLE 0x00000400 00849 #define PFM_BORDER 0x00000800 00850 #define PFM_SHADING 0x00001000 00851 #define PFM_NUMBERINGSTYLE 0x00002000 00852 #define PFM_NUMBERINGTAB 0x00004000 00853 #define PFM_NUMBERINGSTART 0x00008000 00854 #define PFM_RTLPARA 0x00010000 00855 #define PFM_KEEP 0x00020000 00856 #define PFM_KEEPNEXT 0x00040000 00857 #define PFM_PAGEBREAKBEFORE 0x00080000 00858 #define PFM_NOLINENUMBER 0x00100000 00859 #define PFM_NOWIDOWCONTROL 0x00200000 00860 #define PFM_DONOTHYPHEN 0x00400000 00861 #define PFM_SIDEBYSIDE 0x00800000 00862 #define PFM_COLLAPSED 0x01000000 00863 #define PFM_OUTLINELEVEL 0x02000000 00864 #define PFM_BOX 0x04000000 00865 #define PFM_RESERVED2 0x08000000 00866 #define PFM_TABLEROWDELIMITER 0x10000000 00867 #define PFM_TEXTWRAPPINGBREAK 0x20000000 00868 #define PFM_TABLE 0x40000000 00869 00870 #define PFM_ALL (PFM_STARTINDENT | \ 00871 PFM_RIGHTINDENT | \ 00872 PFM_OFFSET | \ 00873 PFM_ALIGNMENT | \ 00874 PFM_TABSTOPS | \ 00875 PFM_NUMBERING | \ 00876 PFM_OFFSETINDENT | \ 00877 PFM_RTLPARA) 00878 00879 #define PFM_EFFECTS (PFM_RTLPARA | \ 00880 PFM_KEEP | \ 00881 PFM_KEEPNEXT | \ 00882 PFM_PAGEBREAKBEFORE | \ 00883 PFM_NOLINENUMBER | \ 00884 PFM_NOWIDOWCONTROL | \ 00885 PFM_DONOTHYPHEN | \ 00886 PFM_SIDEBYSIDE | \ 00887 PFM_TABLEROWDELIMITER | \ 00888 PFM_TABLE) 00889 00890 #define PFM_ALL2 (PFM_ALL | \ 00891 PFM_EFFECTS | \ 00892 PFM_SPACEBEFORE | \ 00893 PFM_SPACEAFTER | \ 00894 PFM_LINESPACING | \ 00895 PFM_STYLE | \ 00896 PFM_BORDER | \ 00897 PFM_SHADING | \ 00898 PFM_NUMBERINGSTYLE | \ 00899 PFM_NUMBERINGTAB | \ 00900 PFM_NUMBERINGSTART) 00901 00902 /* numbering option */ 00903 #define PFN_BULLET 0x00000001 00904 #define PFN_ARABIC 0x00000002 00905 #define PFN_LCLETTER 0x00000003 00906 #define PFN_UCLETTER 0x00000004 00907 #define PFN_LCROMAN 0x00000005 00908 #define PFN_UCROMAN 0x00000006 00909 00910 /* paragraph format numbering styles */ 00911 #define PFNS_PAREN 0x00000000 00912 #define PFNS_PARENS 0x00000100 00913 #define PFNS_PERIOD 0x00000200 00914 #define PFNS_PLAIN 0x00000300 00915 #define PFNS_NONUMBER 0x00000400 00916 #define PFNS_NEWNUMBER 0x00008000 00917 00918 /* paragraph alignment */ 00919 #define PFA_LEFT 0x00000001 00920 #define PFA_RIGHT 0x00000002 00921 #define PFA_CENTER 0x00000003 00922 #define PFA_JUSTIFY 0x00000004 00923 #define PFA_FULL_INTERWORD 0x00000004 00924 #define PFA_FULL_INTERLETTER 0x00000005 00925 #define PFA_FULL_SCALED 0x00000006 00926 #define PFA_FULL_GLYPHS 0x00000007 00927 #define PFA_SNAP_GRID 0x00000008 00928 00929 /* paragraph effects */ 00930 #define PFE_RTLPARA 0x00000001 00931 #define PFE_KEEP 0x00000002 00932 #define PFE_KEEPNEXT 0x00000004 00933 #define PFE_PAGEBREAKBEFORE 0x00000008 00934 #define PFE_NOLINENUMBER 0x00000010 00935 #define PFE_NOWIDOWCONTROL 0x00000020 00936 #define PFE_DONOTHYPHEN 0x00000040 00937 #define PFE_SIDEBYSIDE 0x00000080 00938 #define PFE_COLLAPSED 0x00000100 00939 #define PFE_BOX 0x00000400 00940 #define PFE_TABLEROWDELIMITER 0x00001000 00941 #define PFE_TEXTWRAPPINGBREAK 0x00002000 00942 #define PFE_TABLE 0x00004000 00943 00944 /* Set Edit Style flags for EM_SETEDITSTYLE message */ 00945 #define SES_EMULATESYSEDIT 0x00000001 00946 #define SES_BEEPONMAXTEXT 0x00000002 00947 #define SES_EXTENDBACKCOLOR 0x00000004 00948 #define SES_MAPCPS 0x00000008 00949 #define SES_EMULATE10 0x00000010 00950 #define SES_USECRLF 0x00000020 00951 #define SES_NOXLTSYMBOLRANGE 0x00000020 00952 #define SES_USEAIMM 0x00000040 00953 #define SES_NOIME 0x00000080 00954 #define SES_ALLOWBEEPS 0x00000100 00955 #define SES_UPPERCASE 0x00000200 00956 #define SES_LOWERCASE 0x00000400 00957 #define SES_NOINPUTSEQUENCECHK 0x00000800 00958 #define SES_BIDI 0x00001000 00959 #define SES_SCROLLONKILLFOCUS 0x00002000 00960 #define SES_XLTCRCRLFTOCR 0x00004000 00961 #define SES_DRAFTMODE 0x00008000 00962 #define SES_USECTF 0x00010000 00963 #define SES_HIDEGRIDLINES 0x00020000 00964 #define SES_USEATFONT 0x00040000 00965 #define SES_CUSTOMLOOK 0x00080000 00966 #define SES_LBSCROLLNOTIFY 0x00100000 00967 #define SES_CTFALLOWEMBED 0x00200000 00968 #define SES_CTFALLOWSMARTTAG 0x00400000 00969 #define SES_CTFALLOWPROOFING 0x00800000 00970 00971 /* streaming flags */ 00972 #define SFF_WRITEXTRAPAR 0x00000080 00973 #define SFF_PWD 0x00000800 00974 #define SFF_KEEPDOCINFO 0x00001000 00975 #define SFF_PERSISTVIEWSCALE 0x00002000 00976 #define SFF_PLAINRTF 0x00004000 00977 #define SFF_SELECTION 0x00008000 00978 00979 typedef enum _undonameid 00980 { 00981 UID_UNKNOWN = 0, 00982 UID_TYPING = 1, 00983 UID_DELETE = 2, 00984 UID_DRAGDROP = 3, 00985 UID_CUT = 4, 00986 UID_PASTE = 5, 00987 UID_AUTOCORRECT = 6 00988 } UNDONAMEID; 00989 00990 typedef LONG (*EDITWORDBREAKPROCEX)(char*,LONG,BYTE,INT); 00991 00992 #define VM_OUTLINE 0x00000002 00993 #define VM_NORMAL 0x00000004 00994 #define VM_PAGE 0x00000009 00995 00996 /* options of the EM_FINDWORDBREAK message */ 00997 #define WB_CLASSIFY 0x00000003 00998 #define WB_MOVEWORDLEFT 0x00000004 00999 #define WB_MOVEWORDPREV 0x00000004 01000 #define WB_MOVEWORDRIGHT 0x00000005 01001 #define WB_MOVEWORDNEXT 0x00000005 01002 #define WB_LEFTBREAK 0x00000006 01003 #define WB_PREVBREAK 0x00000006 01004 #define WB_RIGHTBREAK 0x00000007 01005 #define WB_NEXTBREAK 0x00000007 01006 01007 /* options of the EM_SETWORDWRAPMODE message */ 01008 #define WBF_WORDWRAP 0x00000010 01009 #define WBF_WORDBREAK 0x00000020 01010 #define WBF_OVERFLOW 0x00000040 01011 #define WBF_LEVEL1 0x00000080 01012 #define WBF_LEVEL2 0x00000100 01013 #define WBF_CUSTOM 0x00000200 01014 01015 #define WBF_CLASS ((BYTE) 0x0F) 01016 #define WBF_ISWHITE ((BYTE) 0x10) 01017 #define WBF_BREAKLINE ((BYTE) 0x20) 01018 #define WBF_BREAKAFTER ((BYTE) 0x40) 01019 01020 /* Placeholder unicode character for an embedded object */ 01021 #ifndef WCH_EMBEDDING 01022 #define WCH_EMBEDDING (WCHAR)0xFFFC 01023 #endif 01024 01025 /* options of the EM_SETTEXTMODE message */ 01026 #define TM_PLAINTEXT 0x00000001 01027 #define TM_RICHTEXT 0x00000002 01028 #define TM_SINGLELEVELUNDO 0x00000004 01029 #define TM_MULTILEVELUNDO 0x00000008 01030 #define TM_SINGLECODEPAGE 0x00000010 01031 #define TM_MULTICODEPAGE 0x00000020 01032 01033 /* GETTEXTEX structure flags */ 01034 #define GT_DEFAULT 0x00000000 01035 #define GT_USECRLF 0x00000001 01036 #define GT_SELECTION 0x00000002 01037 #define GT_RAWTEXT 0x00000004 01038 #define GT_NOHIDDENTEXT 0x00000008 01039 01040 /* Options of the EM_SETTYPOGRAPHYOPTIONS message */ 01041 #define TO_ADVANCEDTYPOGRAPHY 0x00000001 01042 #define TO_SIMPLELINEBREAK 0x00000002 01043 #define TO_DISABLECUSTOMTEXTOUT 0x00000004 01044 #define TO_ADVANCEDLAYOUT 0x00000008 01045 01046 typedef struct _gettextlengthex { 01047 DWORD flags; 01048 UINT codepage; 01049 } GETTEXTLENGTHEX; 01050 01051 /* Flags of the GETTEXTLENGTHEX structure */ 01052 #define GTL_DEFAULT 0x00000000 01053 #define GTL_USECRLF 0x00000001 01054 #define GTL_PRECISE 0x00000002 01055 #define GTL_CLOSE 0x00000004 01056 #define GTL_NUMCHARS 0x00000008 01057 #define GTL_NUMBYTES 0x00000010 01058 01059 #define GCM_RIGHTMOUSEDROP 0x8000 01060 01061 /* Options of the EM_SETTEXTEX message */ 01062 typedef struct _settextex { 01063 DWORD flags; 01064 UINT codepage; 01065 } SETTEXTEX; 01066 01067 /* Flags of the EM_SETTEXTEX message */ 01068 #define ST_DEFAULT 0x00000000 01069 #define ST_KEEPUNDO 0x00000001 01070 #define ST_SELECTION 0x00000002 01071 01072 #define ST_NEWCHARS 0x00000004 01073 01074 #ifdef __cplusplus 01075 } 01076 #endif 01077 01078 #include <poppack.h> 01079 01080 #endif /* __WINE_RICHEDIT_H */ Generated on Sun May 27 2012 04:32:16 for ReactOS by
1.7.6.1
|