MiniGUI API Reference (MiniGUI-Standalone)  v4.0.0
A mature and proven cross-platform GUI system for embedded and smart IoT devices
edit.h
Go to the documentation of this file.
1 //
3 // IMPORTANT NOTICE
4 //
5 // The following open source license statement does not apply to any
6 // entity in the Exception List published by FMSoft.
7 //
8 // For more information, please visit:
9 //
10 // https://www.fmsoft.cn/exception-list
11 //
13 
55 /*
56  * $Id: edit.h 13674 2010-12-06 06:45:01Z wanzheng $
57  *
58  * MiniGUI for Linux/uClinux, eCos, uC/OS-II, VxWorks,
59  * pSOS, ThreadX, NuCleus, OSE, and Win32.
60  */
61 
62 #ifndef _MGUI_CTRL_EDIT_H
63 #define _MGUI_CTRL_EDIT_H
64 
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif /* __cplusplus */
69 
87 #define CTRL_EDIT ("edit")
88 
96 #define CTRL_SLEDIT ("sledit")
97 
105 #define CTRL_BIDISLEDIT ("bidisledit")
106 
114 #define CTRL_MLEDIT ("mledit")
115 
123 #define CTRL_MEDIT ("medit")
124 
134 #define ES_LEFT 0x00000000L
135 
140 #define ES_CENTER 0x00000001L
141 
146 #define ES_RIGHT 0x00000002L
147 
152 #define ES_MULTILINE 0x00000004L
153 
158 #define ES_UPPERCASE 0x00000008L
159 
164 #define ES_LOWERCASE 0x00000010L
165 
170 #define ES_PASSWORD 0x00000020L
171 
176 #define ES_AUTOVSCROLL 0x00000040L
177 
182 #define ES_AUTOHSCROLL 0x00000080L
183 
188 #define ES_NOHIDESEL 0x00000100L
189 
194 #define ES_AUTOSELECT 0x00000400L
195 //#define ES_OEMCONVERT 0x00000400L
196 
201 #define ES_READONLY 0x00000800L
202 
207 #define ES_BASELINE 0x00001000L
208 
213 #define ES_AUTOWRAP 0x00002000L
214 
219 #define ES_TITLE 0x00004000L
220 
225 #define ES_TIP 0x00008000L
226 
253 #define EM_GETSEL 0xF0B0
254 
282 #define EM_SETSEL 0xF0B1
283 
288 #define EM_SETSELPOS EM_SETSEL
289 
294 #define EM_SETSELECTION EM_SETSEL
295 
307 #define EM_SELECTALL 0xF0B2
308 
331 #define EM_GETSELPOS 0xF0B3
332 
349 #define EM_INSERTCBTEXT 0xF0B4
350 
364 #define EM_COPYTOCB 0xF0B5
365 
379 #define EM_CUTTOCB 0xF0B6
380 
399 #define EM_SETLFDISPCHAR 0xF0B7
400 
418 #define EM_SETLINESEP 0xF0B8
419 
420 /* #define EM_GETRECT 0xF0B2 */
421 /* #define EM_SETRECT 0xF0B3 */
422 /* #define EM_SETRECTNP 0xF0B4 */
423 /* #define EM_SCROLL 0xF0B5 */
424 
447 #define EM_GETCARETPOS 0xF0B9
448 
471 #define EM_SETCARETPOS 0xF0BA
472 
477 #define EM_SETINSERTION EM_SETCARETPOS
478 
479 /* #define EM_SCROLLCARET 0xF0B9 */
480 /* #define EM_GETMODIFY 0xF0BA */
481 /* #define EM_SETMODIFY 0xF0BB */
482 
497 #define EM_GETLINECOUNT 0xF0BC
498 
513 #define EM_GETLINEHEIGHT 0xF0BD
514 
529 #define EM_SETLINEHEIGHT 0xF0BE
530 
531 
532 /*#define EM_LINEINDEX 0xF0BD */
533 /*#define EM_GETTHUMB 0xF0BE */
534 
535 /* internal used now */
541 #define EM_LINESCROLL 0xF0BF
542 
561 #define EM_INSERTTEXT 0xF0C0
562 
563 /* Not use */
569 #define EM_LINELENGTH 0xF0C1
570 
571 /* Not use */
577 #define EM_REPLACESEL 0xF0C2
578 
583 #define EM_GETMAXLIMIT 0xF0C3
584 
585 /* Not use */
591 #define EM_GETLINE 0xF0C4
592 
607 #define EM_LIMITTEXT 0xF0C5
608 
620 #define EM_REDO 0xF0C6
621 /*#define EM_CANUNDO 0xF0C6 */
622 
634 #define EM_UNDO 0xF0C7
635 
636 /* Not use */
642 #define EM_FMTLINES 0xF0C8
643 
644 /* Not use */
650 #define EM_LINEFROMCHAR 0xF0C9
651 
652 /* Not use */
658 #define EM_SETTABSTOPS 0xF0CB
659 
673 #define EM_SETPASSWORDCHAR 0xF0CC
674 
675 /* Not use */
676 #define EM_EMPTYUNDOBUFFER 0xF0CD
677 /* Not use */
678 #define EM_GETFIRSTVISIBLELINE 0xF0CE
679 
698 #define EM_SETREADONLY 0xF0CF
699 
713 typedef int (*ED_DRAWSEL_FUNC) (HWND, HDC, int, int, const char*, int, int);
714 
715 
730 #define EM_SETDRAWSELECTFUNC 0xF0D0
731 
749 #define EM_SETGETCARETWIDTHFUNC 0xF0D1
750 
751 /*
752 #define EM_SETWORDBREAKPROC 0xF0D0
753 #define EM_GETWORDBREAKPROC 0xF0D1
754 */
755 
770 #define EM_GETPASSWORDCHAR 0xF0D2
771 
776 #define EM_SETLIMITTEXT EM_LIMITTEXT
777 
782 #define ED_CARETSHAPE_LINE 0
783 
788 #define ED_CARETSHAPE_BLOCK 1
789 
807 #define EM_CHANGECARETSHAPE 0xF0D3
808 
813 #define EM_REFRESHCARET 0xF0D4
814 
832 #define EM_ENABLECARET 0xF0D5
833 
841 #define EM_GETLIMITTEXT 0xF0D6
842 
843 /*
844  * \def EM_SETMARGINS
845  * \brief Set the margins of edit control
846  *
847  * \code
848  * EM_SETMARGINS
849  *
850  * const RECT *prcMargins
851  *
852  * lParam = (LPARAM)prcMargins
853  * \endcode
854  *
855  * \param prcMargins : the margins info:
856  * - top : the top margin value
857  * - left: the left margin value
858  * - right: the right margin value
859  * - bottom: the bottom margin value
860  *
861  * \return ignored
862  *
863  * \sa EM_GETMARGINS
864  */
865 #define EM_SETMARGINS 0xF0D7
866 
867 /*
868  * \def EM_GETMARGINS
869  * \brief Get the margins of content
870  *
871  * \code
872  * EM_GETMARGINS
873  *
874  * RECT *prcMargins
875  *
876  * lParam = (LPARAM)prcMargins
877  * \endcode
878  *
879  * \param prcMargins : the margins info:
880  * - top : the top margin value
881  * - left: the left margin value
882  * - right: the right margin value
883  * - bottom: the bottom margin value
884  *
885  * \return TRUE / FALSE
886  *
887  * \sa EM_SETMARGINS
888  */
889 #define EM_GETMARGINS 0xF0D8
890 /*
891 #define EM_POSFROMCHAR 0xF0D9
892 #define EM_CHARFROMPOS 0xF0DA
893 #define EM_SETIMESTATUS 0xF0DB
894 #define EM_GETIMESTATUS 0xF0DC
895 
896 #define MEM_SCROLLCHANGE 0xF0DD
897 */
898 
899 /* Not use */
900 #define MED_STATE_YES 0x0
901 /* Not use */
902 #define MED_STATE_NOUP 0x1
903 /* Not use */
904 #define MED_STATE_NODN 0x2
905 /* Not use */
906 #define MED_STATE_NO 0x3
907 
923 #define EM_SETTITLETEXT 0xF0DC
924 
945 #define EM_GETTITLETEXT 0xF0DD
946 
961 #define EM_SETTIPTEXT 0xF0DE
962 
981 #define EM_GETTIPTEXT 0xF0DF
982 
986 typedef struct _TEXTPOSINFO {
997  int copy_len;
1000  char *buff;
1001 }TEXTPOSINFO;
1002 
1009 #define EM_GETNUMOFPARAGRAPHS 0xF0E0
1010 
1021 #define EM_GETPARAGRAPHLENGTH 0xF0E1
1022 
1042 #define EM_GETPARAGRAPHTEXT 0xF0E2
1043 
1044 /*
1045  * \def EM_MUSTUPDATEBKGND
1046  * \brief Test if the bkgournd must be update
1047  *
1048  * \return BOOL. TRUE -- must update the bkground, texteditor would not use ScrollWindow
1049  * FALSE -- bkground does not need to update, textditor use Scrollwindow
1050  *
1051  * if you want paint a image on bkground, please make this message return TRUE
1052  *
1053  */
1054 #define EM_MUSTUPDATEBKGND 0xF0E3
1055 
1084 #define EM_SETCARETPOSBYLINE 0xF0D9
1085 
1106 #define EM_GETCARETPOSBYLINE 0xF0DA
1107 
1112 #define EM_SETSELPOSBYLINE 0xF0DB
1113 
1133 #define EM_GETSELPOSBYLINE 0xF0E4
1134 
1147 #define EM_GETPARAGRAPHLENGTHINMCHAR 0xF0E5
1148 
1161 #define EM_GETLINELENGTHINMCHAR 0xF0E6
1162 
1174 #define EM_GETLINELENGTH 0xF0E7
1175 
1196 #define EM_GETLINETEXT 0xF0E8
1197 
1198 #define EM_MSGMAX 0xF0EA
1199 
1207 #define EN_ERRSPACE 255
1208 
1216 #define EN_CLICKED 0x0001
1217 
1225 #define EN_DBLCLK 0x0002
1226 
1234 #define EN_SETFOCUS 0x0100
1235 
1243 #define EN_KILLFOCUS 0x0200
1244 
1252 #define EN_CHANGE 0x0300
1253 
1265 #define EN_UPDATE 0x0400
1266 
1274 #define EN_MAXTEXT 0x0501
1275 
1276 /* Not use */
1277 #define EN_HSCROLL 0x0601
1278 /* Not use */
1279 #define EN_VSCROLL 0x0602
1280 
1281 
1286 #define EN_SELCHANGED 0x0603
1287 
1293 #define EN_CONTCHANGED 0x0604
1294 
1299 #define EN_ENTER 0x0700
1300 
1303 /* Edit control EM_SETMARGIN parameters */
1308 #define EC_LEFTMARGIN 0x0001
1309 
1313 #define EC_RIGHTMARGIN 0x0002
1314 
1318 #define EC_USEFONTINFO 0xffff
1319 
1320 /* wParam of EM_GET/SETIMESTATUS */
1325 #define EMSIS_COMPOSITIONSTRING 0x0001
1326 
1327 /* lParam for EMSIS_COMPOSITIONSTRING */
1332 #define EIMES_GETCOMPSTRATONCE 0x0001
1333 
1337 #define EIMES_CANCELCOMPSTRINFOCUS 0x0002
1338 
1342 #define EIMES_COMPLETECOMPSTRKILLFOCUS 0x0004
1343 
1348 #ifdef __cplusplus
1349 }
1350 #endif /* __cplusplus */
1351 
1352 #endif /* _MGUI_CTRL_EDIT_H */
1353 
int copy_len
Definition: edit.h:997
GHANDLE HDC
Handle to device context.
Definition: common.h:407
GHANDLE HWND
Handle to main window or control.
Definition: common.h:402
int line_index
Definition: edit.h:992
char * buff
Definition: edit.h:1000
struct _TEXTPOSINFO TEXTPOSINFO
int(* ED_DRAWSEL_FUNC)(HWND, HDC, int, int, const char *, int, int)
Type of the edit control callback function on drawing selected strings.
Definition: edit.h:713
int paragraph_index
Definition: edit.h:989
int start_pos
Definition: edit.h:994