/* PocketC WinCE Header File */

/* Latest Update: Mon Oct 4 09:36:24 1999*/

/* Button */

#define BS_3STATE 0x0005 /*Creates a button that is the same as a check box, except that the box can be grayed as well as checked or unchecked. Use the grayed state to show that the state of the check box is not determined.*/

#define BS_AUTO3STATE 0x0006 /*Creates a button that is the same as a three-state check box, except that the box changes its state when the user selects it. The state cycles through checked, grayed, and unchecked.*/

#define BS_AUTOCHECKBOX 0x0003 /*Creates a button that is the same as a check box, except that the check state automatically toggles between checked and unchecked each time the user selects the check box.*/

#define BS_AUTORADIOBUTTON 0x0009 /*Creates a button that is the same as a radio button, except that when the user selects it, The system automatically sets the button's check state to checked and automatically sets the check state for all other buttons in the same group to unchecked.*/

#define BS_CHECKBOX 0x0002 /*Creates a small, empty check box with text. By default, the text is displayed to the right of the check box. To display the text to the left of the check box, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style).*/

#define BS_DEFPUSHBUTTON 0x0001 /*Creates a push button that behaves like a BS_PUSHBUTTON style button, but also has a heavy black border. If the button is in a dialog box, the user can select the button by pressing the enter key, even when the button does not have the input focus. This style is useful for enabling the user to quickly select the most likely (default) option.*/

#define BS_GROUPBOX 0x0007 /*Creates a rectangle in which other controls can be grouped. Any text associated with this style is displayed in the rectangle's upper left corner.*/

#define BS_PUSHBUTTON 0x0000 /*Creates a push button that posts a WM_COMMAND message to the owner window when the user selects the button.*/

#define BS_RADIOBUTTON 0x0004 /*Creates a small circle with text. By default, the text is displayed to the right of the circle. To display the text to the left of the circle, combine this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON style). Use radio buttons for groups of related, but mutually exclusive choices.*/

#define BS_BOTTOM 0x0800 /*Places text at the bottom of the button rectangle.*/

#define BS_CENTER 0x0300 /*Centers text horizontally in the button rectangle.*/

#define BS_FLAT 0x8000 /*Specifies that the button is two-dimensional; it does not use the default shading to create a 3-D image.*/

#define BS_LEFT 0x0100 /*Left-justifies the text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is left justified on the right side of the check box or radio button.*/

#define BS_PUSHLIKE 0x1000 /*Makes a button (such as a check box, three-state check box, or radio button) look and act like a push button. The button looks raised when it isn't pushed or checked, and sunken when it is pushed or checked.*/

#define BS_RIGHT 0x0200 /*Right-justifies text in the button rectangle. However, if the button is a check box or radio button that does not have the BS_RIGHTBUTTON style, the text is right justified on the right side of the check box or radio button.*/

#define BS_RIGHTBUTTON 0x0100 /*Positions a radio button's circle or a check box's square on the right side of the button rectangle. Same as the BS_LEFTTEXT style.*/

#define BS_TOP 0x0400 /*Places text at the top of the button rectangle.*/

#define BS_VCENTER 0x0C00 /*Places text in the middle (vertically) of the button rectangle.*/

/* ComboBox */

#define CBS_AUTOHSCROLL 0x0040 /*Automatically scrolls the text in an edit control to the right when the user types a character at the end of the line. If this style is not set, only text that fits within the rectangular boundary is allowed.*/

#define CBS_DISABLENOSCROLL 0x0800 /*Shows a disabled vertical scroll bar in the list box when the box does not contain enough items to scroll. Without this style, the scroll bar is hidden when the list box does not contain enough items.*/

#define CBS_DROPDOWN 0x0002 /*Displays only the edit control by default. The user can display the list box by selecting an icon next to the edit control.*/

#define CBS_DROPDOWNLIST 0x0003 /*Displays a static text field that displays the current selection in the list box.*/

#define CBS_LOWERCASE 0x4000 /*Converts any uppercase characters typed into the edit control of a combo box to lowercase.*/

#define CBS_NOINTEGRALHEIGHT 0x0400 /*Specifies that the combo box will be exactly the size specified by the application when it created the combo box. Usually, Windows sizes a combo box so that it does not display partial items.*/

#define CBS_OEMCONVERT 0x0080 /*Converts text typed in the combo box edit control from the Windows character set to the OEM character set and then back to the Windows set. This style is most useful for combo boxes that contain file names. It applies only to combo boxes created with the CBS_DROPDOWN style.*/

#define CBS_SORT 0x0100 /*Automatically sorts strings typed into the list box.*/

#define CBS_UPPERCASE 0x2000 /*Converts any lowercase characters typed into the edit control of a combo box to uppercase.*/

/* Edit */

#define ES_AUTOHSCROLL 0x0080 /*Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the enter key, the control scrolls all text back to position zero.*/

#define ES_AUTOVSCROLL 0x0040 /*Scrolls text up one page when the user presses the ENTER key on the last line.*/

#define ES_CENTER 0x0001 /*Centers text in a multiline edit control.*/

#define ES_LEFT 0x0000 /*Left-aligns text.*/

#define ES_LOWERCASE 0x0010 /*Converts all characters to lowercase as they are typed into the edit control.*/

#define ES_MULTILINE 0x0004 /*Designates a multiline edit control. The default is a single-line edit control.*/

#define ES_NOHIDESEL 0x0100 /*Negates the default behavior for an edit control. The default behavior hides the selection when the control loses the input focus and inverts the selection when the control receives the input focus. If you specify ES_NOHIDESEL, the selected text is inverted, even if the control does not have the focus.*/

#define ES_NUMBER 0x2000 /*Allows only digits to be typed into the edit control.*/

#define ES_OEMCONVERT 0x0400 /*Converts text typed in the edit control from the Windows character set to the OEM character set, and then converts it back to the Windows set. This style is most useful for edit controls that contain file names.*/

#define ES_PASSWORD 0x0020 /*Displays an asterisk (*) for each character typed into the edit control. You can use the EM_SETPASSWORDCHAR message to change the character that is displayed.*/

#define ES_READONLY 0x0800 /*Prevents the user from typing or editing text in the edit control.*/

#define ES_RIGHT 0x0002 /*Right-aligns text in a multiline edit control.*/

#define ES_UPPERCASE 0x0008 /*Converts all characters to uppercase as they are typed into the edit control.*/

#define ES_WANTRETURN 0x1000 /*Specifies that a carriage return be inserted when the user presses the ENTER key while typing text into a multiline edit control in a dialog box. If you do not specify this style, pressing the ENTER key has the same effect as pressing the dialog box's default push button. This style has no effect on a single-line edit control.*/

/* ListBox */

#define LBS_DISABLENOSCROLL 0x1000 /*Shows a disabled vertical scroll bar for the list box when the box does not contain enough items to scroll. If you do not specify this style, the scroll bar is hidden when the list box does not contain enough items.*/

#define LBS_EXTENDEDSEL 0x0800 /*Allows the user to select multiple items by using the SHIFT key and the mouse or special key combinations.*/

#define LBS_MULTICOLUMN 0x0200 /*Specifies a multicolumn list box that the user scrolls horizontally. You set the width of the columns by using the LB_SETCOLUMNWIDTH message.*/

#define LBS_MULTIPLESEL 0x0008 /*Turns string selection on or off each time a user clicks or double-clicks a string in the list box. A user can select any number of strings simultaneously.*/

#define LBS_NOINTEGRALHEIGHT 0x0100 /*Specifies that the list box will be exactly the size specified by the application when it created the list box. Usually, Windows sizes a list box so that it does not display partial items.*/

#define LBS_NOREDRAW 0x0004 /*Specifies that the list box's appearance is not automatically updated when changes are made. You can change this style by sending a WM_SETREDRAW message.*/

#define LBS_NOSEL 0x4000 /*Specifies that the user can view list box strings but cannot select them.*/

#define LBS_NOTIFY 0x0001 /*Notifies the parent window whenever the user clicks or double-clicks a string in the list box.*/

#define LBS_SORT 0x0002 /*Sorts strings in the list box alphabetically.*/

#define LBS_STANDARD (0x0001 | 0x0001 | 0x00200000 | 0x00800000) /*Sorts strings in the list box alphabetically. The parent window receives an input message whenever the user clicks or double-clicks a string. The list box has borders on all sides.*/

#define LBS_USETABSTOPS 0x0080 /*Enables a list box to recognize and expand tab characters when drawing its strings. The default tab positions are 32 dialog box units. A dialog box unit is equal to one-fourth of the current dialog box base-width unit. Windows CE calculates these units based on the height and width of the current system font.*/

#define LBS_WANTKEYBOARDINPUT 0x0400 /*Specifies that the owner of the list box receives WM_VKEYTOITEM messages whenever the user presses a key and the list box has the input focus. This enables an application to perform special processing on the keyboard input.*/

/* ScrollBar */

#define SBS_BOTTOMALIGN 0x0004 /*Aligns the bottom edge of the scroll bar with the bottom edge of the rectangle defined by the createctrl parameters x, y, nWidth, and nHeight. The scroll bar has the default height for system scroll bars. Use this style with the SBS_HORZ style.*/

#define SBS_HORZ 0x0000 /*Designates a horizontal scroll bar. If the SBS_TOPALIGN style is not specified, the scroll bar has the height, width, and position specified by the parameters of CreateWindow.*/

#define SBS_LEFTALIGN 0x0002 /*Aligns the left edge of the scroll bar with the left edge of the rectangle defined by the parameters of createctrl. The scroll bar has the default width for system scroll bars. Use this style with the SBS_VERT style.*/

#define SBS_RIGHTALIGN 0x0004 /*Aligns the right edge of the scroll bar with the right edge of the rectangle defined by the parameters of createctrl The scroll bar has the default width for system scroll bars. Use this style with the SBS_VERT style.*/

#define SBS_SIZEBOX 0x0008 /*Designates a size box. If you do not specify the SBS_SIZEBOXTOPLEFTALIGN style, the size box has the height, width, and position specified by the parameters of createctrl*/

#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004 /*Aligns the lower-right corner of the size box with the lower-right corner of the rectangle specified by the parameters of createctrl. The size box has the default size for system size boxes. Use this style with the SBS_SIZEBOX style.*/

#define SBS_SIZEBOXTOPLEFTALIGN 0x0002 /*Aligns the upper-left corner of the size box with the upper-left corner of the rectangle specified by the parameters of createctrl. The size box has the default size for system size boxes. Use this style with the SBS_SIZEBOX style.*/

#define SBS_TOPALIGN 0x0002 /*Aligns the top edge of the scroll bar with the top edge of the rectangle defined by the parameters of createctrl. The scroll bar has the default height for system scroll bars. Use this style with the SBS_HORZ style.*/

#define SBS_VERT 0x0001 /*Designates a vertical scroll bar. If you do not specify the SBS_LEFTALIGN style, the scroll bar has the height, width, and position specified by the parameters of CreateWindow.*/

/* Static */

#define SS_CENTER 0x0001 /*Specifies a simple rectangle and centers the error value text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next centered line.*/

#define SS_LEFT 0x0000 /*Specifies a rectangle and left-aligns the text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next left-aligned line.*/

#define SS_LEFTNOWORDWRAP 0x000C /*Specifies a rectangle and left-aligns the text in the rectangle. Tabs are expanded but words are not wrapped. Text that extends past the end of a line is clipped.*/

#define SS_NOTIFY 0x0100 /*Sends the parent window the STN_CLICKED notification when the user clicks the control.*/

#define SS_RIGHT 0x0002 /*Specifies a rectangle and right-aligns the specified text in the rectangle. Windows CE formats the text before display. The control automatically wraps words that extend past the end of a line to the beginning of the next right-aligned line.*/

/* Window */

#define WS_CHILD 0x40000000 /*Specifies a child window. This should not be changed after the window is created.*/

#define WS_POPUP 0x80000000 /*Specifies a pop-up window. This style should not be changed after the window is created.*/

#define WS_VISIBLE 0x10000000 /*Specifies a window that is initially visible. This style can be turned on and off to change window visibility.*/

#define WS_DISABLED 0x08000000 /*Specifies a window that is initially disabled. A disabled window cannot receive input from the user.*/

#define WS_BORDER 0x00800000 /*draw a border around the control*/

#define WS_GROUP 0x00020000 /*Specifies the first control of a group of controls. This style is used primarily when creating dialog boxes. The group consists of this first control and all controls defined after it, up to the next control for which the WS_GROUP style is specified. Because the first control in each group often has the WS_TABSTOP style, a user can move from group to group.*/

#define WS_TABSTOP 0x00010000 /*Specifies a control that can receive the keyboard focus when the user presses the TAB key. This style is used primarily when creating controls in a dialog box. Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style.*/

/* Menu */

#define MF_BYCOMMAND 0x0000 /*Insert the menu by its ID*/

#define MF_BYPOSITION 0x0400 /*Insert the menu by its position*/

#define MF_SEPARATOR 0x0800 /*Draw a separator*/

#define MF_ENABLED 0x0000 /*Enable a menu item*/

#define MF_GRAYED 0x0001 /*Make a menu item gray out*/

#define MF_UNCHECKED 0x0000 /*Remove the check mark from the menu item*/

#define MF_CHECKED 0x0008 /*Draw a check mark on the menu item*/

#define MF_STRING 0x0000 /*The menu item has a string name. It is a default value.*/

/* FileMode */

#define FILE_CREATE 0x1000 /*create a new file. If the file exists already, it is truncated to 0 length.*/

#define FILE_NOTRUNCATE 0x2000 /*Combine this value with modeCreate. If the file being created already exists, it is not truncated to 0 length. Thus the file is guaranteed to open, either as a newly created file or as an existing file. This might be useful, for example, when opening a settings file that may or may not exist already.*/

#define FILE_READ 0x0000 /*Opens the file for reading only.*/

#define FILE_READWRITE 0x0002 /*Opens the file for reading and writing.*/

#define FILE_WRITE 0x0001 /*Opens the file for writing only.*/

/* Window */

#define WS_VSCROLL 0x00200000 /*Add vertical scroll to the window control*/

#define WS_HSCROLL 0x00100000 /*Add horizontal scroll to the window control*/

/* ProgressBar */

#define PBS_SMOOTH 0x01 /*Displays progress status in a smooth scrolling bar instead of the default segmented bar.*/

#define PBS_VERTICAL 0x04 /*Displays progress status vertically, from bottom to top.*/

#define PROGRESS_CLASS "msctls_progress32" /*windows progressbar control name define*/

#define PBM_SETRANGE (0x0400+1) /*sets the minimum and maximum values for a progress bar and redraws the bar to reflect the new range. The default min is 0 and max is 100*/

/* Window */

#define WM_USER 0x0400 /*The WM_USER constant is used by applications to help define private messages.*/

/* ProgressBar */

#define PBM_SETPOS (0x0400+2) /*sets the current position for a progress bar and redraws the bar to reflect the new position.*/

#define PBM_DELTAPOS (0x0400+3) /*advances the current position of a progress bar by a specified increment and redraws the bar to reflect the new position.*/

#define PBM_SETSTEP (0x0400+4) /*specifies the step increment for a progress bar. Default value is 10*/

#define PBM_STEPIT (0x0400+5) /*advances the current position for a progress bar by the step increment and redraws the bar to reflect the new position*/

/* Draw */

#define OPAQUE 2 /*Background is filled with the current background color before the text, hatched brush, or pen is drawn*/

#define TRANSPARENT 1 /*Background remains untouched*/

/* Database */

#define CEVT_I2 2 /*A 16-bit signed integer.*/

#define CEVT_UI2 18 /*A 16-bit unsigned integer*/

#define CEVT_I4 3 /*A 32-bit signed integer.*/

#define CEVT_UI4 18 /*A 32-bit unsigned integer*/

#define CEVT_LPWSTR 31 /*A null-terminated string*/

#define CEDB_SEEK_CEOID 0x00000001 /*Seek until finding an object that has the specified object identifier. The dwValue parameter specifies the object identifier. This type of seek operation is very efficient.*/

#define CEDB_SEEK_BEGINNING 0x00000002 /*Seek until finding the record at the specified position from the beginning of the database. The dwValue parameter specifies the number of records to seek.*/

#define CEDB_SEEK_END 0x00000004 /*Seek backward for the specified number of records from the end of the database. The dwValue parameter specifies the number of records.*/

#define CEDB_SEEK_CURRENT 0x00000008 /*Seek backward or forward from the current position of the seek pointer for the specified number of records. The dwValue parameter specifies the number of records from the current position. The function seeks forward if dwValue is a positive value, or backward if it is negative. A forward seek operation is efficient.*/

/* Event */

#define PM_NONE 0 /*Event None*/

#define PM_CHAR 1 /*Character Event*/

#define PM_MOUSEMOVE 2 /*Mouse Move*/

#define PM_MEMORYSHORT 3 /*Memory Low*/

#define PM_BUTTONDOWN 4 /*Button Down*/

#define PM_BUTTONUP 5 /*Button Up*/

#define PM_DBCLICK 6 /*Double click*/

#define PM_PAINT 7 /*Paint message*/

#define PM_COMMAND 8 /*Command, check with guid() or menu() to see which item sends out the command*/

#define PM_KEYUP 10 /*key up*/

#define PM_KEYDOWN 9 /*key down*/

#define PM_TIMER 11 /*Timer event, used with settimer kill timer*/

#define PM_COMMEVENT 12 /*serial io event*/

/* communication */

#define EV_RXCHAR 0x0001 /* Any Character received*/

#define EV_RXFLAG 0x0002 /* Received certain character*/

#define EV_TXEMPTY 0x0004 /* Transmitt Queue Empty*/

#define EV_CTS 0x0008 /* CTS changed state*/

#define EV_DSR 0x0010 /* DSR changed state*/

#define EV_RLSD 0x0020 /* RLSD changed state*/

#define EV_BREAK 0x0040 /* BREAK received*/

#define EV_ERR 0x0080 /* Line status error occurred*/

#define EV_RING 0x0100 /* Ring signal detected*/

#define EV_PERR 0x0200 /* Printer error occured*/

#define CE_RXOVER 0x0001 /* Receive Queue overflow*/

#define CE_OVERRUN 0x0002 /* Receive Overrun Error*/

#define CE_RXPARITY 0x0004 /* Receive Parity Error*/

#define CE_FRAME 0x0008 /* Receive Framing error*/

#define CE_BREAK 0x0010 /* Break Detected*/

#define CE_TXFULL 0x0100 /* TX Queue is full*/

#define CE_PTO 0x0200 /* LPTx Timeout*/

#define CE_IOE 0x0400 /* LPTx I/O Error*/

#define CE_DNS 0x0800 /* LPTx Device not selected*/

#define CE_OOP 0x1000 /* LPTx Out-Of-Paper*/

#define CE_MODE 0x8000 /* Requested mode unsupported*/

#define SETXOFF 1 /* Simulate XOFF received*/

#define SETXON 2 /* Simulate XON received*/

#define SETRTS 3 /* Set RTS high*/

#define CLRRTS 4 /* Set RTS low*/

#define SETDTR 5 /* Set DTR high*/

#define CLRDTR 6 /* Set DTR low*/

#define SETBREAK 8 /* Set the device break line.*/

#define CLRBREAK 9 /* Clear the device break line.*/

#define SETIR 10 /* Clear the device break line.*/

#define CLRIR 11 /* Clear the device break line.*/