Browse Source

* Lot of fixes in wince windows unit.

git-svn-id: trunk@6127 -
yury 18 years ago
parent
commit
f6e9e2e043

+ 64 - 11
rtl/wince/wininc/commctrl.inc

@@ -202,6 +202,7 @@ const
   DTM_SETMCFONT       = DTM_FIRST + 9;
   DTM_GETMCFONT       = DTM_FIRST + 10;
   DTM_SETFORMATW      = DTM_FIRST + 50;
+  DTM_SETFORMAT       = DTM_SETFORMATW;
 
 
   DTS_UPDOWN                 = $0001;
@@ -270,6 +271,32 @@ const
   TBN_DRAGOUT         = (TBN_FIRST - 14);
   //TBN_GETBUTTONINFO   = TBN_GETBUTTONINFOW;
 
+  // custom draw return flags
+  // values under 0x00010000 are reserved for global custom draw values.
+  // above that are for specific controls
+  CDRF_DODEFAULT          = $00000000;
+  CDRF_NEWFONT            = $00000002;
+  CDRF_SKIPDEFAULT        = $00000004;
+  CDRF_NOTIFYPOSTPAINT    = $00000010;
+  CDRF_NOTIFYITEMDRAW     = $00000020;
+  CDRF_NOTIFYSUBITEMDRAW  = $00000020;  // flags are the same, we can distinguish by context
+  CDRF_NOTIFYPOSTERASE    = $00000040;
+
+  // drawstage flags
+  // values under = $00010000 are reserved for global custom draw values.
+  // above that are for specific controls
+  CDDS_PREPAINT           = $00000001;
+  CDDS_POSTPAINT          = $00000002;
+  CDDS_PREERASE           = $00000003;
+  CDDS_POSTERASE          = $00000004;
+  // the = $000010000 bit means it's individual item specific
+  CDDS_ITEM               = $00010000;
+  CDDS_ITEMPREPAINT       = CDDS_ITEM or CDDS_PREPAINT;
+  CDDS_ITEMPOSTPAINT      = CDDS_ITEM or CDDS_POSTPAINT;
+  CDDS_ITEMPREERASE       = CDDS_ITEM or CDDS_PREERASE;
+  CDDS_ITEMPOSTERASE      = CDDS_ITEM or CDDS_POSTERASE;
+  CDDS_SUBITEM            = $00020000;
+
   // Pocket PC  special controls
   WC_CAPEDIT    = 'CAPEDIT';
   WC_TSTATIC    = 'TTSTATIC';
@@ -294,16 +321,6 @@ type
   TNMDATETIMECHANGE=tagNMDATETIMECHANGE;
   LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE;
 
-  tagNMDATETIMESTRINGA = record
-    nmhdr         : NMHDR;
-    pszUserString : LPCSTR;
-    st            : SYSTEMTIME;
-    dwFlags       : DWORD;
-  end;
-  NMDATETIMESTRINGA=tagNMDATETIMESTRINGA;
-  TNMDATETIMESTRINGA=tagNMDATETIMESTRINGA;
-  LPNMDATETIMESTRINGA=^tagNMDATETIMESTRINGA;
-
   tagNMDATETIMESTRINGW = record
     nmhdr         : NMHDR;
     pszUserString : LPCWSTR;
@@ -313,6 +330,9 @@ type
   NMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
   TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
   LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW;
+  NMDATETIMESTRING=tagNMDATETIMESTRINGW;
+  TNMDATETIMESTRING=tagNMDATETIMESTRINGW;
+  PNMDATETIMESTRING=^tagNMDATETIMESTRINGW;
 
   tagNMDATETIMEWMKEYDOWNA = record
     nmhdr     : NMHDR;
@@ -394,6 +414,7 @@ type
   end;
   NMMOUSE=tagNMMOUSE;
   LPNMMOUSE=^NMMOUSE;
+  PNMMOUSE=^NMMOUSE;
   NMCLICK=NMMOUSE;
   LPNMCLICK=LPNMMOUSE;
 
@@ -412,7 +433,39 @@ type
   end;
   LPTBBUTTONINFOW=^TBBUTTONINFOW;
   TBBUTTONINFO=TBBUTTONINFOW;
-
+  TTBButtonInfo=TBBUTTONINFO;
+
+  tagNMCUSTOMDRAWINFO = packed record
+    hdr: TNMHdr;
+    dwDrawStage: DWORD;
+    hdc: HDC;
+    rc: TRect;
+    dwItemSpec: DWORD;
+    uItemState: UINT;
+    lItemlParam: LPARAM;
+  end;
+  PNMCustomDraw = ^TNMCustomDraw;
+  TNMCustomDraw = tagNMCUSTOMDRAWINFO;
+  
+  tagNMLVCUSTOMDRAW = packed record
+    nmcd: TNMCustomDraw;
+    clrText: COLORREF;
+    clrTextBk: COLORREF;
+    iSubItem: Integer;
+  end;
+  PNMLVCustomDraw = ^TNMLVCustomDraw;
+  TNMLVCustomDraw = tagNMLVCUSTOMDRAW;
+  
+  tagNMLVODSTATECHANGE = packed record
+    hdr: TNMHdr;
+    iFrom: Integer;
+    iTo: Integer;
+    uNewState: UINT;
+    uOldState: UINT;
+  end;
+  PNMLVODStateChange = ^TNMLVODStateChange;
+  TNMLVODStateChange = tagNMLVODSTATECHANGE;
+  
 //*****************************************************************************
 // functions
 //*****************************************************************************

+ 47 - 10
rtl/wince/wininc/coredll.inc

@@ -175,7 +175,6 @@
       111 CreateMsgQueue
       16E CreateServiceHandle
       34E CreateStaticMapping
-      2F4 CreateThread
        C5 CryptAcquireContextW
        E1 CryptContextAddRef
        D0 CryptCreateHash
@@ -237,7 +236,6 @@
       14D EnumUILanguagesW
       374 ExtractResource
       17F FileSystemPowerFunction
-      511 FillRgn
       381 FilterTrackedItem
       345 FlushViewOfFileMaybe
       334 ForcePageout
@@ -2384,6 +2382,7 @@ function CreateRectRgnIndirect(var _para1:RECT):HRGN; external KernelDLL name 'C
 function CreateSemaphore(lpSemaphoreAttributes:LPSECURITY_ATTRIBUTES; lInitialCount:LONG; lMaximumCount:LONG; lpName:LPCWSTR):HWND; external KernelDLL name 'CreateSemaphoreW';
 function CreateSemaphoreW(lpSemaphoreAttributes:LPSECURITY_ATTRIBUTES; lInitialCount:LONG; lMaximumCount:LONG; lpName:LPCWSTR):HWND; external KernelDLL name 'CreateSemaphoreW';
 function CreateSolidBrush(_para1:COLORREF):HBRUSH; external KernelDLL name 'CreateSolidBrush';
+function CreateThread(lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: pointer; lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWORD): THandle; external KernelDLL name 'CreateThread';
 function CreateWindow(lpClassName:LPCWSTR; lpWindowName:LPCWSTR; dwStyle:DWORD; X:Longint;Y:Longint; nWidth:Longint; nHeight:Longint; hWndParent:HWND; hMenu:HMENU;hInstance:HINST; lpParam:LPVOID):HWND;
 function CreateWindowEx(dwExStyle:DWORD; lpClassName:LPCWSTR; lpWindowName:LPCWSTR; dwStyle:DWORD; X:longint;Y:longint; nWidth:longint; nHeight:longint; hWndParent:HWND; hMenu:HMENU;hInstance:HINST; lpParam:LPVOID):HWND;
   external KernelDLL name 'CreateWindowExW';
@@ -2471,6 +2470,7 @@ function FileTimeToLocalFileTime(lpFileTime:LPFILETIME; lpLocalFileTime:LPFILETI
 function FileTimeToSystemTime(lpFileTime:LPFILETIME; lpSystemTime:LPSYSTEMTIME):WINBOOL; external KernelDLL name 'FileTimeToSystemTime';
 procedure FillMemory(Destination:PVOID; Length:DWORD; Fill:BYTE);
 function FillRect(hDC:HDC; const lprc:RECT; hbr:HBRUSH):longint; external KernelDLL name 'FillRect';
+function FillRgn(DC: HDC; p2: HRGN; p3: HBRUSH): BOOL; external KernelDLL name 'FillRgn';
 function FindClose(hFindFile:HWND):WINBOOL; external KernelDLL name 'FindClose';
 function FindCloseChangeNotification(hChangeHandle:HWND):WINBOOL; external KernelDLL name 'FindCloseChangeNotification';
 function FindFirstChangeNotification(lpPathName:LPCWSTR; bWatchSubtree:WINBOOL; dwNotifyFilter:DWORD):HWND; external KernelDLL name 'FindFirstChangeNotificationW';
@@ -2616,6 +2616,8 @@ function GetRgnBox(_para1:HRGN; _para2:LPRECT):longint; external KernelDLL name
 function GetSaveFileName(_para1:LPOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetSaveFileNameW';
 function GetSaveFileNameW(_para1:LPOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetSaveFileNameW';
 function GetScrollInfo(_para1:HWND; _para2:longint; _para3:LPSCROLLINFO):WINBOOL; external KernelDLL name 'GetScrollInfo';
+function GetScrollPos(hWnd: HWND; nBar: LongInt): LongInt;
+function GetScrollRange(hWnd: HWND; nBar: Integer; var lpMinPos, lpMaxPos: LongInt): BOOL;
 function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: LPTSTR; nFolder: LongInt; fCreate: BOOL): BOOL;
   external KernelDLL name 'SHGetSpecialFolderPath';
 function GetStockObject(_para1:longint):HGDIOBJ; external KernelDLL name 'GetStockObject';
@@ -2722,12 +2724,14 @@ function ImageList_Draw(himl:HIMAGELIST; i:longint; hdcDst:HDC; x:longint; y:lon
 function ImageList_DrawEx(himl:HIMAGELIST; i:longint; hdcDst:HDC; x:longint; y:longint;dx:longint; dy:longint; rgbBk:COLORREF; rgbFg:COLORREF; fStyle:UINT):WINBOOL; external KernelDLL name 'ImageList_DrawEx';
 function ImageList_DrawIndirect(pimldp:PIMAGELISTDRAWPARAMS):WINBOOL; external KernelDLL name 'ImageList_DrawIndirect'; //+commctrl
 procedure ImageList_EndDrag; external KernelDLL name 'ImageList_EndDrag';
+function ImageList_ExtractIcon(Instance: THandle; ImageList: HIMAGELIST; Image: LongInt): HIcon;
 function ImageList_GetBkColor(himl:HIMAGELIST):COLORREF; external KernelDLL name 'ImageList_GetBkColor';
 function ImageList_GetDragImage(ppt:LPPOINT; pptHotspot:LPPOINT):HIMAGELIST; external KernelDLL name 'ImageList_GetDragImage';
 function ImageList_GetIcon(himl:HIMAGELIST; i:longint; flags:UINT):HICON; external KernelDLL name 'ImageList_GetIcon';
 function ImageList_GetIconSize(himl:HIMAGELIST; var cx:longint; var cy:longint):WINBOOL; external KernelDLL name 'ImageList_GetIconSize';
 function ImageList_GetImageCount(himl:HIMAGELIST):longint; external KernelDLL name 'ImageList_GetImageCount';
 function ImageList_GetImageInfo(himl:HIMAGELIST; i:longint; var pImageInfo:IMAGEINFO):WINBOOL; external KernelDLL name 'ImageList_GetImageInfo';
+function ImageList_LoadBitmap(Instance: THandle; Bmp: LPCSTR; CX, Grow: LongInt; Mask: TColorRef): HImageList;
 function ImageList_LoadImage(hi:HINST; lpbmp:LPCSTR; cx:longint; cGrow:longint; crMask:COLORREF;uType:UINT; uFlags:UINT):HIMAGELIST; external KernelDLL name 'ImageList_LoadImage';
 function ImageList_Merge(himl1:HIMAGELIST; i1:longint; himl2:HIMAGELIST; i2:longint; dx:longint;dy:longint):HIMAGELIST; external KernelDLL name 'ImageList_Merge';
 function ImageList_Replace(himl:HIMAGELIST; i:longint; hbmImage:HBITMAP; hbmMask:HBITMAP):WINBOOL; external KernelDLL name 'ImageList_Replace';
@@ -2947,8 +2951,8 @@ function RegDeleteValue(hKey:HKEY; lpValueName:LPCWSTR):LONG; external KernelDLL
 function RegDeleteValueW(hKey:HKEY; lpValueName:LPCWSTR):LONG; external KernelDLL name 'RegDeleteValueW';
 function RegEnumKeyEx(hKey:HKEY; dwIndex:DWORD; lpName:LPWSTR; lpcbName:LPDWORD; lpReserved:LPDWORD;lpClass:LPWSTR; lpcbClass:LPDWORD; lpftLastWriteTime:PFILETIME):LONG; external KernelDLL name 'RegEnumKeyExW';
 function RegEnumKeyExW(hKey:HKEY; dwIndex:DWORD; lpName:LPWSTR; lpcbName:LPDWORD; lpReserved:LPDWORD;lpClass:LPWSTR; lpcbClass:LPDWORD; lpftLastWriteTime:PFILETIME):LONG; external KernelDLL name 'RegEnumKeyExW';
-function RegEnumValue(hKey:HKEY; dwIndex:DWORD; lpValueName:LPWSTR; lpcbValueName:LPDWORD; lpReserved:LPDWORD;lpType:LPDWORD; lpData:LPBYTE; lpcbData:LPDWORD):LONG; external KernelDLL name 'RegEnumValueW';
-function RegEnumValueW(hKey:HKEY; dwIndex:DWORD; lpValueName:LPWSTR; lpcbValueName:LPDWORD; lpReserved:LPDWORD;lpType:LPDWORD; lpData:LPBYTE; lpcbData:LPDWORD):LONG; external KernelDLL name 'RegEnumValueW';
+function RegEnumValue(hKey:HKEY; dwIndex:DWORD; lpValueName:LPWSTR; lpcbValueName:LPDWORD; lpReserved:LPDWORD;lpType:LPDWORD; lpData:pointer; lpcbData:LPDWORD):LONG; external KernelDLL name 'RegEnumValueW';
+function RegEnumValueW(hKey:HKEY; dwIndex:DWORD; lpValueName:LPWSTR; lpcbValueName:LPDWORD; lpReserved:LPDWORD;lpType:LPDWORD; lpData:pointer; lpcbData:LPDWORD):LONG; external KernelDLL name 'RegEnumValueW';
 function RegFlushKey(hKey:HKEY):LONG; external KernelDLL name 'RegFlushKey';
 function RegisterClass(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW';
 function RegisterClassW(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW';
@@ -2962,10 +2966,10 @@ function RegQueryInfoKey(hKey:HKEY; lpClass:LPWSTR; lpcbClass:LPDWORD; lpReserve
   lpcbMaxValueLen:LPDWORD;lpcbSecurityDescriptor:LPDWORD; lpftLastWriteTime:PFILETIME):LONG; external KernelDLL name 'RegQueryInfoKeyW';
 function RegQueryInfoKeyW(hKey:HKEY; lpClass:LPWSTR; lpcbClass:LPDWORD; lpReserved:LPDWORD; lpcSubKeys:LPDWORD;lpcbMaxSubKeyLen:LPDWORD; lpcbMaxClassLen:LPDWORD; lpcValues:LPDWORD; lpcbMaxValueNameLen:LPDWORD;
   lpcbMaxValueLen:LPDWORD;lpcbSecurityDescriptor:LPDWORD; lpftLastWriteTime:PFILETIME):LONG; external KernelDLL name 'RegQueryInfoKeyW';
-function RegQueryValueEx(hKey:HKEY; lpValueName:LPCWSTR; lpReserved:LPDWORD; lpType:LPDWORD; lpData:LPBYTE;lpcbData:LPDWORD):LONG; external KernelDLL name 'RegQueryValueExW';
-function RegQueryValueExW(hKey:HKEY; lpValueName:LPCWSTR; lpReserved:LPDWORD; lpType:LPDWORD; lpData:LPBYTE;lpcbData:LPDWORD):LONG; external KernelDLL name 'RegQueryValueExW';
-function RegSetValueEx(hKey:HKEY; lpValueName:LPCWSTR; Reserved:DWORD; dwType:DWORD; lpData:LPBYTE;cbData:DWORD):LONG; external KernelDLL name 'RegSetValueExW';
-function RegSetValueExW(hKey:HKEY; lpValueName:LPCWSTR; Reserved:DWORD; dwType:DWORD; lpData:LPBYTE;cbData:DWORD):LONG; external KernelDLL name 'RegSetValueExW';
+function RegQueryValueEx(hKey:HKEY; lpValueName:LPCWSTR; lpReserved:LPDWORD; lpType:LPDWORD; lpData:pointer;lpcbData:LPDWORD):LONG; external KernelDLL name 'RegQueryValueExW';
+function RegQueryValueExW(hKey:HKEY; lpValueName:LPCWSTR; lpReserved:LPDWORD; lpType:LPDWORD; lpData:pointer;lpcbData:LPDWORD):LONG; external KernelDLL name 'RegQueryValueExW';
+function RegSetValueEx(hKey:HKEY; lpValueName:LPCWSTR; Reserved:DWORD; dwType:DWORD; lpData:pointer;cbData:DWORD):LONG; external KernelDLL name 'RegSetValueExW';
+function RegSetValueExW(hKey:HKEY; lpValueName:LPCWSTR; Reserved:DWORD; dwType:DWORD; lpData:pointer;cbData:DWORD):LONG; external KernelDLL name 'RegSetValueExW';
 function RegReplaceKey(hKey:HKEY; lpSubKey:LPCTSTR; lpNewFile:LPCTSTR; lpOldFile:LPCTSTR):LONG; external KernelDLL name 'RegReplaceKey';
 function RegSaveKey(hKey:HKEY; lpFile:LPCTSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):LONG; external KernelDLL name 'RegSaveKey';
 function ReleaseCapture:WINBOOL; external KernelDLL name 'ReleaseCapture';
@@ -3113,7 +3117,7 @@ function TlsCall(p1:DWORD; p2:DWORD):DWORD; external KernelDLL name 'TlsCall';
 function TlsFree(dwTlsIndex:DWORD):WINBOOL;
 function TlsGetValue(dwTlsIndex:DWORD):LPVOID; external KernelDLL name 'TlsGetValue';
 function TlsSetValue(dwTlsIndex:DWORD; lpTlsValue:LPVOID):WINBOOL; external KernelDLL name 'TlsSetValue';
-function TrackPopupMenu(hMenu:HMENU; uFlags:UINT; x:longint; y:longint; nReserved:longint;hWnd:HWND; var prcRect:RECT):WINBOOL;
+function TrackPopupMenu(hMenu:HMENU; uFlags:UINT; x:longint; y:longint; nReserved:longint;hWnd:HWND; prcRect: PRect):WINBOOL;
 function TrackPopupMenuEx(_para1:HMENU; _para2:UINT; _para3:longint; _para4:longint; _para5:HWND;_para6:LPTPMPARAMS):WINBOOL; external KernelDLL name 'TrackPopupMenuEx';
 function TranslateAccelerator(hWnd:HWND; hAccTable:HACCEL; lpMsg:LPMSG):longint; external KernelDLL name 'TranslateAcceleratorW';
 function TranslateAcceleratorW(hWnd:HWND; hAccTable:HACCEL; lpMsg:LPMSG):longint; external KernelDLL name 'TranslateAcceleratorW';
@@ -4033,7 +4037,7 @@ begin
   TabCtrl_SetCurFocus:=SendMessage(hwnd,TCM_SETCURFOCUS,i,0);
 end;
 
-function TrackPopupMenu(hMenu:HMENU; uFlags:UINT; x:longint; y:longint; nReserved:longint;hWnd:HWND; var prcRect:RECT):WINBOOL;
+function TrackPopupMenu(hMenu:HMENU; uFlags:UINT; x:longint; y:longint; nReserved:longint;hWnd:HWND; prcRect: PRect):WINBOOL;
 begin
   TrackPopupMenu:=TrackPopupMenuEx(hMenu,uFlags,x,y,hWnd,nil);
 end;
@@ -4258,6 +4262,39 @@ begin
   FillChar(Destination^,Length,#0);
 end;
 
+function GetScrollPos(hWnd: HWND; nBar: LongInt): LongInt;
+var
+  si : TScrollInfo;
+begin
+  si.cbSize:=SizeOf(si);
+  if GetScrollInfo(hWnd, nBar, si) then
+    Result:=si.nPos
+  else
+    Result:=0;
+end;
+
+function GetScrollRange(hWnd: HWND; nBar: Integer; var lpMinPos, lpMaxPos: LongInt): BOOL;
+var
+  si : TScrollInfo;
+begin
+  si.cbSize:=SizeOf(si);
+  Result:=GetScrollInfo(hWnd, nBar, si);
+  if Result then begin
+    lpMinPos:=si.nMin;
+    lpMaxPos:=si.nMax;
+  end;
+end;
+
+function ImageList_ExtractIcon(Instance: THandle; ImageList: HIMAGELIST; Image: LongInt): HIcon;
+begin
+  Result:=ImageList_GetIcon(ImageList, Image, 0);
+end;
+
+function ImageList_LoadBitmap(Instance: THandle; Bmp: LPCSTR; CX, Grow: LongInt; Mask: TColorRef): HImageList;
+begin
+  Result := ImageList_LoadImage(Instance, Bmp, CX, Grow, Mask, IMAGE_BITMAP, 0);
+end;
+
 {$endif read_implementation}
 
 

+ 18 - 5
rtl/wince/wininc/defines.inc

@@ -1769,6 +1769,7 @@
      SIF_POS = 4;
      SIF_RANGE = 1;
      SIF_DISABLENOSCROLL = 8;
+     SIF_TRACKPOS = $10;
   { GetStdHandle  }
     { was #define dname def_expr }
     function STD_INPUT_HANDLE : DWORD;
@@ -3684,6 +3685,7 @@ Const
      CCS_NOPARENTALIGN = $8;
      CCS_NORESIZE = $4;
      CCS_TOP = $1;
+     CCS_VERT = $80;
      ANIMATE_CLASSA = 'SysAnimate32';
      HOTKEY_CLASSA = 'msctls_hotkey32';
      PROGRESS_CLASSA = 'msctls_progress32';
@@ -3893,6 +3895,7 @@ Const
      LVS_NOSCROLL = 8192;
      LVS_NOSORTHEADER = 32768;
      LVS_OWNERDRAWFIXED = 1024;
+     LVS_OWNERDATA = $1000;
      LVS_REPORT = 1;
      LVS_SHAREIMAGELISTS = 64;
      LVS_SHOWSELALWAYS = 8;
@@ -3921,6 +3924,11 @@ Const
      LVIS_SELECTED = 2;
      LVIS_OVERLAYMASK = 3840;
      LVIS_STATEIMAGEMASK = 61440;
+     
+     // progress bar styles
+     PBS_SMOOTH              = 01;
+     PBS_VERTICAL            = 04;
+
     { was #define dname def_expr }
     function LPSTR_TEXTCALLBACKW : LPWSTR;
 
@@ -3947,6 +3955,7 @@ Const
      LVIF_IMAGE = 2;
      LVIF_PARAM = 4;
      LVIF_STATE = 8;
+     LVIF_INDENT = $10;
      LVIF_DI_SETITEM = 4096;
   { LVM_GETNEXTITEM structure  }
      LVNI_ABOVE = 256;
@@ -3973,14 +3982,20 @@ Const
      LVHT_ONITEMSTATEICON = 8;
      LVHT_TOLEFT = 64;
      LVHT_TORIGHT = 32;
+     LVHT_ONITEM = LVHT_ONITEMICON or LVHT_ONITEMLABEL or LVHT_ONITEMSTATEICON;
   { LV_COLUMN structure  }
      LVCF_FMT = 1;
      LVCF_SUBITEM = 8;
      LVCF_TEXT = 4;
      LVCF_WIDTH = 2;
+     LVCF_IMAGE = $10;
+     LVCF_ORDER = $20;
      LVCFMT_CENTER = 2;
      LVCFMT_LEFT = 0;
      LVCFMT_RIGHT = 1;
+     LVCFMT_JUSTIFYMASK      = $0003;
+     LVCFMT_IMAGE            = $0800;
+     LVCFMT_BITMAP_ON_RIGHT  = $1000;
   { ListView_GetItemRect  }
      LVIR_BOUNDS = 0;
      LVIR_ICON = 1;
@@ -4001,6 +4016,8 @@ Const
      TVS_HASLINES = 2;
      TVS_LINESATROOT = 4;
      TVS_SHOWSELALWAYS = 32;
+     TVS_CHECKBOXES = $0100;
+     TVS_SINGLEEXPAND = $0400;
   { Tree View states  }
      TVIS_BOLD = 16;
      TVIS_CUT = 4;
@@ -4025,11 +4042,7 @@ Const
   { TV_INSERTSTRUCT structure  }
     { added manually PM, TREEITEM is not defined in the C headers }
      type
-       TREEITEM = record
-                  end;
-       HTREEITEM = ^TREEITEM;
-       TTREEITEM = TREEITEM;
-       PTREEITEM = ^TREEITEM;
+       HTREEITEM = THandle;
 
     { was #define dname def_expr }
     function TVI_ROOT : HTREEITEM;

+ 5 - 12
rtl/wince/wininc/messages.inc

@@ -528,7 +528,10 @@
   { Progress bar control  }
      PBM_DELTAPOS = 1027;
      PBM_SETPOS = 1026;
+     PBM_GETPOS = WM_USER+8;
      PBM_SETRANGE = 1025;
+     PBM_SETRANGE32 = WM_USER+6;
+     PBM_GETRANGE = WM_USER+7;
      PBM_SETSTEP = 1028;
      PBM_STEPIT = 1029;
   { Property sheets  } //prsht
@@ -641,6 +644,8 @@
      TB_ADDSTRINGA = 1052;
      TB_GETBUTTONTEXTA = 1069;
      TB_SAVERESTOREA = 1050;
+     TB_SETINDENT = WM_USER + 47;
+     TB_SETBUTTONWIDTH = WM_USER + 59;
 {$ifdef UNICODE}
 
   const
@@ -833,18 +838,6 @@
      TTM_RELAYEVENT = 1031;
      TTM_SETDELAYTIME = 1027;
      TTM_WINDOWFROMPOINT = 1040;
-  { Tool tip control notification  }
-     TTN_NEEDTEXTW = -(530);
-     TTN_NEEDTEXTA = -(520);
-{$ifdef UNICODE}
-
-  const
-     TTN_NEEDTEXT = TTN_NEEDTEXTW;
-{$else}
-
-  const
-     TTN_NEEDTEXT = TTN_NEEDTEXTA;
-{$endif}
   { UNICODE  }
 
   const

+ 57 - 26
rtl/wince/wininc/redef.inc

@@ -138,37 +138,83 @@ function LOCALE_USER_DEFAULT: DWORD;                            //+winnt
 function LOCALE_NEUTRAL: DWORD;                                   //winnt
 function LOCALE_INVARIANT: DWORD;                                 //winnt
 
-
+function BeginPaint(hWnd: HWND; var lpPaint: TPaintStruct): HDC; external KernelDLL name 'BeginPaint';
+function ClientToScreen(hWnd: HWND; var lpPoint: TPoint): BOOL; external KernelDLL name 'ClientToScreen';
+function CreateAcceleratorTable(var Accel; Count: Integer): HACCEL; external KernelDLL name 'CreateAcceleratorTableW';
+function CreateAcceleratorTableW(var Accel; Count: Integer): HACCEL; external KernelDLL name 'CreateAcceleratorTableW';
+function CreateFontIndirect(const p1: TLogFont): HFONT; external KernelDLL name 'CreateFontIndirectW';
+function CreateFontIndirectW(const p1: TLogFontW): HFONT; external KernelDLL name 'CreateFontIndirectW';
+function CreateIconIndirect(var piconinfo: TIconInfo): HICON; external KernelDLL name 'CreateIconIndirect';
+function CreateProcess(lpApplicationName: LPTSTR; lpCommandLine: LPTSTR; lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: LPTSTR;
+  const lpStartupInfo: LPStartupInfo; var lpProcessInformation: TProcessInformation): BOOL;external KernelDLL name 'CreateProcessW';
+function CreateProcess(lpApplicationName: LPTSTR; lpCommandLine: LPTSTR; lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: LPTSTR;
+  const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL;external KernelDLL name 'CreateProcessW';
 function CreateProcessW(lpApplicationName: LPWSTR; lpCommandLine: LPWSTR; lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: LPWSTR;
   const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; external KernelDLL name 'CreateProcessW';
 procedure DeleteCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'DeleteCriticalSection';
+function DispatchMessage(const lpMsg: TMsg): Longint; external KernelDLL name 'DispatchMessageW';
+function DispatchMessageW(const lpMsg: TMsg): Longint; external KernelDLL name 'DispatchMessageW';
+function DrawEdge(hdc: HDC; var qrc: TRect; edge: UINT; grfFlags: UINT): BOOL; external KernelDLL name 'DrawEdge';
+function DrawText(hDC: HDC; lpString: LPWSTR; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer; external KernelDLL name 'DrawTextW';
+function DrawTextW(hDC: HDC; lpString: LPWSTR; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer; external KernelDLL name 'DrawTextW';
+function EndPaint(hWnd: HWND; const lpPaint: TPaintStruct): BOOL; external KernelDLL name 'EndPaint';
 procedure EnterCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'EnterCriticalSection';
+function FileTimeToSystemTime(const lpFileTime: TFileTime; var lpSystemTime: TSystemTime): BOOL; external KernelDLL name 'FileTimeToSystemTime';
+function FileTimeToLocalFileTime(const lpFileTime: TFileTime; var lpLocalFileTime: TFileTime): BOOL; external KernelDLL name 'FileTimeToLocalFileTime';
+function FindFirstFile(lpFileName: LPTSTR; var lpFindFileData: TWIN32FindData): THandle; external KernelDLL name 'FindFirstFileW';
+function FindFirstFileW(lpFileName: LPTSTR; var lpFindFileData: TWIN32FindDataW): THandle; external KernelDLL name 'FindFirstFileW';
+function FindNextFile(hFindFile: THandle; var lpFindFileData: TWIN32FindData): BOOL; external KernelDLL name 'FindNextFileW';
+function FindNextFileW(hFindFile: THandle; var lpFindFileData: TWIN32FindDataW): BOOL; external KernelDLL name 'FindNextFileW';
+function GetClassInfo(hInstance: HINST; lpClassName: LPWSTR; var lpWndClass: TWndClassW): BOOL; external KernelDLL name 'GetClassInfoW';
+function GetClassInfoW(hInstance: HINST; lpClassName: LPWSTR; var lpWndClass: TWndClassW): BOOL; external KernelDLL name 'GetClassInfoW';
+function GetClientRect(hWnd: HWND; var lpRect: TRect): BOOL; external KernelDLL name 'GetClientRect';
+function GetClipBox(DC: HDC; var Rect: TRect): Integer; external KernelDLL name 'GetClipBox';
+function GetCursorPos(var lpPoint: TPoint): BOOL; external KernelDLL name 'GetCursorPos';
 function GetExitCodeProcess(hProcess: THandle; var lpExitCode: DWORD): BOOL; external KernelDLL name 'GetExitCodeProcess';
 function GetExitCodeThread(hThread: THandle; var lpExitCode: DWORD): BOOL; external KernelDLL name 'GetExitCodeThread';
 procedure GetLocalTime(var SystemTime: SYSTEMTIME); external KernelDLL name 'GetLocalTime';
+function GetMenuItemInfo(p1: HMENU; p2: UINT; p3: BOOL; var p4: TMenuItemInfo): BOOL; external KernelDLL name 'GetMenuItemInfoW';
+function GetMenuItemInfoW(p1: HMENU; p2: UINT; p3: BOOL; var p4: TMenuItemInfoW): BOOL; external KernelDLL name 'GetMenuItemInfoW';
+function GetMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax: UINT): BOOL;external KernelDLL name 'GetMessageW';
+function GetScrollInfo(hWnd: HWND; BarFlag: Integer; var ScrollInfo: TScrollInfo): BOOL; external KernelDLL name 'GetScrollInfo';
+procedure GetSystemTime(var lpSystemTime:SYSTEMTIME); external KernelDLL name 'GetSystemTime';
+function GetTextExtentPoint32(DC: HDC; Str: LPWSTR; Count: Integer; var Size: TSize): BOOL; external KernelDLL name 'GetTextExtentPoint32W';
+function GetTextExtentPoint32W(DC: HDC; Str: LPWSTR; Count: Integer; var Size: TSize): BOOL; external KernelDLL name 'GetTextExtentPoint32W';
+function GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL;external KernelDLL name 'GetVersionExW';
 function GetVersionExW(var lpVersionInformation: TOSVersionInfoW): BOOL; external KernelDLL name 'GetVersionExW';
+function GetWindowRect(hWnd: HWND; var lpRect: TRect): BOOL; external KernelDLL name 'GetWindowRect';
+function InflateRect(var lprc: TRect; dx, dy: Integer): BOOL; external KernelDLL name 'InflateRect';
 procedure InitializeCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'InitializeCriticalSection';
 procedure LeaveCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'LeaveCriticalSection';
+function LocalFileTimeToFileTime(const lpLocalFileTime: TFileTime; var lpFileTime: TFileTime): BOOL; external KernelDLL name 'LocalFileTimeToFileTime';
 //redirected to MsgWaitForMultipleObjectsEx
 function MsgWaitForMultipleObjects(nCount: DWORD; var pHandles; fWaitAll: BOOL; dwMilliseconds, dwWakeMask: DWORD): DWORD;
+function OffsetRect(var lprc: TRect; dx, dy: Integer): BOOL; external KernelDLL name 'OffsetRect';
+function PeekMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL;external KernelDLL name 'PeekMessageW';
 function PeekMessageW(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external KernelDLL name 'PeekMessageW';
+function Polygon(DC: HDC; var Points; Count: Integer): BOOL; external KernelDLL name 'Polygon';
 function ReadFile(hFile: THandle; var Buffer; nNumberOfBytesToRead: DWORD; var lpNumberOfBytesRead: DWORD; lpOverlapped: POverlapped): BOOL; external KernelDLL name 'ReadFile';
+function RegCreateKeyEx(hKey: HKEY; lpSubKey: LPWSTR; Reserved: DWORD; lpClass: LPWSTR; dwOptions: DWORD; samDesired: REGSAM; lpSecurityAttributes: PSecurityAttributes; var phkResult: HKEY; lpdwDisposition: PDWORD): Longint; external KERNELDLL name 'RegCreateKeyExW';
+function RegCreateKeyExW(hKey: HKEY; lpSubKey: LPWSTR; Reserved: DWORD; lpClass: LPWSTR; dwOptions: DWORD; samDesired: REGSAM; lpSecurityAttributes: PSecurityAttributes; var phkResult: HKEY; lpdwDisposition: PDWORD): Longint; external KERNELDLL name 'RegCreateKeyExW';
+function RegEnumKeyEx(hKey: HKEY; dwIndex: DWORD; lpName: LPWSTR; var lpcbName: DWORD; lpReserved: Pointer; lpClass: LPWSTR; lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; external KernelDLL name 'RegEnumKeyExW';
+function RegEnumKeyExW(hKey: HKEY; dwIndex: DWORD; lpName: LPWSTR; var lpcbName: DWORD; lpReserved: Pointer; lpClass: LPWSTR; lpcbClass: PDWORD; lpftLastWriteTime: PFileTime): Longint; external KernelDLL name 'RegEnumKeyExW';
+function RegEnumValue(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; external KernelDLL name 'RegEnumValueW';
+function RegEnumValueW(hKey: HKEY; dwIndex: DWORD; lpValueName: PChar; var lpcbValueName: DWORD; lpReserved: Pointer; lpType: PDWORD; lpData: PByte; lpcbData: PDWORD): Longint; external KernelDLL name 'RegEnumValueW';
+function RegisterClass(const lpWndClass: TWndClass): ATOM;external KernelDLL name 'RegisterClassW';
 function RegisterClassW(const lpWndClass: TWndClassW): ATOM; external KernelDLL name 'RegisterClassW';
+function RegOpenKeyEx(hKey: HKEY; lpSubKey: LPWSTR; ulOptions: DWORD; samDesired: REGSAM; var phkResult: HKEY): Longint; external KernelDLL name 'RegOpenKeyExW';
+function RegOpenKeyExW(hKey: HKEY; lpSubKey: LPWSTR; ulOptions: DWORD; samDesired: REGSAM; var phkResult: HKEY): Longint; external KernelDLL name 'RegOpenKeyExW';
+function ScreenToClient(hWnd: HWND; var lpPoint: TPoint): BOOL; external KernelDLL name 'ScreenToClient';
 function SetFileTime(hFile:HANDLE; var lpCreationTime:FILETIME; var lpLastAccessTime:FILETIME; var lpLastWriteTime:FILETIME):WINBOOL; external KernelDLL name 'SetFileTime';
 function SetLocalTime(var lpSystemTime:SYSTEMTIME):WINBOOL; external KernelDLL name 'SetLocalTime';
+function SetMenuItemInfo(p1: HMENU; p2: UINT; p3: BOOL; const p4: TMenuItemInfo): BOOL; external KernelDLL name 'SetMenuItemInfoW';
+function SetMenuItemInfoW(p1: HMENU; p2: UINT; p3: BOOL; const p4: TMenuItemInfoW): BOOL; external KernelDLL name 'SetMenuItemInfoW';
+function SetScrollInfo(hWnd: HWND; BarFlag: Integer; const ScrollInfo: TScrollInfo; Redraw: BOOL): Integer; external KernelDLL name 'SetScrollInfo';
+function SystemTimeToFileTime(const lpSystemTime: TSystemTime; var lpFileTime: TFileTime): BOOL; external KernelDLL name 'SystemTimeToFileTime';
+function TranslateMessage(const lpMsg: TMsg): BOOL; external KernelDLL name 'TranslateMessage';
 function TryEnterCriticalSection(var CriticalSection : TRTLCriticalSection) : BOOL; external KernelDLL name 'TryEnterCriticalSection';
 function WriteFile(hFile: THandle; const Buffer; nNumberOfBytesToWrite: DWORD; var lpNumberOfBytesWritten: DWORD; lpOverlapped: POverlapped): BOOL; external KernelDLL name 'WriteFile';
 
-function GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL;external KernelDLL name 'GetVersionExW';
-function CreateProcess(lpApplicationName: LPTSTR; lpCommandLine: LPTSTR; lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: LPTSTR;
-  const lpStartupInfo: LPStartupInfo; var lpProcessInformation: TProcessInformation): BOOL;external KernelDLL name 'CreateProcessW';
-function FindFirstFile(lpFileName: LPTSTR; var lpFindFileData: TWIN32FindData): THandle; external KernelDLL name 'FindFirstFileW';
-function FindNextFile(hFindFile: THandle; var lpFindFileData: TWIN32FindData): BOOL; external KernelDLL name 'FindNextFileW';
-function RegisterClass(const lpWndClass: TWndClass): ATOM;external KernelDLL name 'RegisterClassW';
-function PeekMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL;external KernelDLL name 'PeekMessageW';
-function Polygon(DC: HDC; var Points; Count: Integer): BOOL; external KernelDLL name 'Polygon';
-function GetMessage(var lpMsg: TMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax: UINT): BOOL;external KernelDLL name 'GetMessageW';
-
 (*
 !!! The following commented out part is copied from win32 redef.inc
 It is profided as reference. Functions which exists in wince should be corrected
@@ -269,7 +315,6 @@ function AllocateLocallyUniqueId(var Luid: TLargeInteger): BOOL; external 'advap
 function BackupRead(hFile: THandle; lpBuffer: PByte; nNumberOfBytesToRead: DWORD; var lpNumberOfBytesRead: DWORD; bAbort: BOOL; bProcessSecurity: BOOL; var lpContext: Pointer): BOOL; external 'kernel32' name 'BackupRead';
 function BackupSeek(hFile: THandle; dwLowBytesToSeek, dwHighBytesToSeek: DWORD; var lpdwLowByteSeeked, lpdwHighByteSeeked: DWORD; lpContext: Pointer): BOOL; external 'kernel32' name 'BackupSeek';
 function BackupWrite(hFile: THandle; lpBuffer: PByte; nNumberOfBytesToWrite: DWORD; var lpNumberOfBytesWritten: DWORD; bAbort, bProcessSecurity: BOOL; var lpContext: Pointer): BOOL; external 'kernel32' name 'BackupWrite';
-function BeginPaint(hWnd: HWND; var lpPaint: TPaintStruct): HDC; external 'user32' name 'BeginPaint';
 function BuildCommDCB(lpDef: PChar; var lpDCB: TDCB): BOOL;external 'kernel32' name 'BuildCommDCBA';
 function BuildCommDCBA(lpDef: LPCSTR; var lpDCB: TDCB): BOOL; external 'kernel32' name 'BuildCommDCBA';
 function BuildCommDCBAndTimeouts(lpDef: PChar; var lpDCB: TDCB; var lpCommTimeouts: TCommTimeouts): BOOL;external 'kernel32' name 'BuildCommDCBAndTimeoutsA';
@@ -294,7 +339,6 @@ function ChangeDisplaySettingsW(var lpDevMode: TDeviceModeW; dwFlags: DWORD): Lo
 //function CheckColorsInGamut(DC: HDC; var RGBQuads, Results; Count: DWORD): BOOL; external 'gdi32' name 'CheckColorsInGamut';
 function ChoosePixelFormat(_para1:HDC; var _para2:PIXELFORMATDESCRIPTOR):longint; external 'gdi32' name 'ChoosePixelFormat';
 function ClearCommError(hFile: THandle; var lpErrors: DWORD; lpStat: PComStat): BOOL; external 'kernel32' name 'ClearCommError';
-function ClientToScreen(hWnd: HWND; var lpPoint: TPoint): BOOL; external 'user32' name 'ClientToScreen';
 function ClipCursor(var lpRect:RECT):WINBOOL; external 'user32' name 'ClipCursor';
 //function CombineTransform(var p1: TXForm; const p2, p3: TXForm): BOOL; external 'gdi32' name 'CombineTransform';
 function CommConfigDialog(lpszName: PChar; hWnd: HWND; var lpCC: TCommConfig): BOOL;external 'kernel32' name 'CommConfigDialogA';
@@ -347,7 +391,6 @@ function CreatePolyPolygonRgn(const pPtStructs; const pIntArray; p3, p4: Integer
 //function CreateRectRgnIndirect(const p1: TRect): HRGN; external 'gdi32' name 'CreateRectRgnIndirect';
 function CreateRemoteThread(hProcess: THandle; lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWORD): THandle;
   external 'kernel32' name 'CreateRemoteThread';
-function CreateThread(lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWORD): THandle; external 'kernel32' name 'CreateThread';
 function DdeSetQualityOfService(hWndClient: HWnd; const pqosNew: TSecurityQualityOfService; pqosPrev: PSecurityQualityOfService): BOOL;external 'user32' name 'DdeSetQualityOfService';
 //function DeleteAce(var pAcl: TACL; dwAceIndex: DWORD): BOOL; external 'advapi32' name 'DeleteAce';
 function DescribePixelFormat(DC: HDC; p2: Integer; p3: UINT; var p4: TPixelFormatDescriptor): BOOL; external 'gdi32' name 'DescribePixelFormat';
@@ -364,7 +407,6 @@ function DosDateTimeToFileTime(wFatDate, wFatTime: Word; var lpFileTime: TFileTi
 function DPtoLP(DC: HDC; var Points; Count: Integer): BOOL; external 'gdi32' name 'DPtoLP';
 // function DrawAnimatedRects(hwnd: HWND; idAni: Integer; const lprcFrom, lprcTo: TRect): BOOL; external 'user32' name 'DrawAnimatedRects';
 //function DrawCaption(p1: HWND; p2: HDC; const p3: TRect; p4: UINT): BOOL; external 'user32' name 'DrawCaption';
-function DrawEdge(hdc: HDC; var qrc: TRect; edge: UINT; grfFlags: UINT): BOOL; external 'user32' name 'DrawEdge';
 //function DrawFocusRect(hDC: HDC; const lprc: TRect): BOOL; external 'user32' name 'DrawFocusRect';
 function DrawFrameControl(DC: HDC; const Rect: TRect; uType, uState: UINT): BOOL; external 'user32' name 'DrawFrameControl';
 function DrawText(hDC: HDC; lpString: PChar; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer;external 'user32' name 'DrawTextA';
@@ -375,7 +417,6 @@ function DrawTextExW(DC: HDC; lpchText: LPWSTR; cchText: Integer; var p4: TRect;
 function DrawTextW(hDC: HDC; lpString: LPWSTR; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer; external 'user32' name 'DrawTextW';
 //function DuplicateTokenEx(hExistingToken: THandle; dwDesiredAccess: DWORD; lpTokenAttributes: PSecurityAttributes; ImpersonationLevel: TSecurityImpersonationLevel; TokenType: TTokenType; var phNewToken: THandle): BOOL;
 //  external 'advapi32' name 'DuplicateTokenEx';
-function EndPaint(hWnd: HWND; const lpPaint: TPaintStruct): BOOL; external 'user32' name 'EndPaint';
 //function EnumDisplayDevices(Unused: Pointer; iDevNum: DWORD; var lpDisplayDevice: TDisplayDevice; dwFlags: DWORD): BOOL;external 'user32' name 'EnumDisplayDevicesA';
 //function EnumDisplayDevicesA(Unused: Pointer; iDevNum: DWORD; var lpDisplayDevice: TDisplayDeviceA; dwFlags: DWORD): BOOL;external 'user32' name 'EnumDisplayDevicesA';
 //function EnumDisplayDevicesW(Unused: Pointer; iDevNum: DWORD; var lpDisplayDevice: TDisplayDeviceW; dwFlags: DWORD): BOOL;external 'user32' name 'EnumDisplayDevicesW';
@@ -445,8 +486,6 @@ function GetClassInfoEx(Instance: HINST; Classname: PChar; var WndClass: TWndCla
 //function GetClassInfoExA(Instance: HINST; Classname: LPCSTR; var WndClass: TWndClassExA): BOOL; external 'user32' name 'GetClassInfoExA';
 //function GetClassInfoExW(Instance: HINST; Classname: LPWSTR; var WndClass: TWndClassExW): BOOL; external 'user32' name 'GetClassInfoExW';
 //function GetClassInfoW(hInstance: HINST; lpClassName: LPWSTR; var lpWndClass: TWndClassW): BOOL; external 'user32' name 'GetClassInfoW';
-function GetClientRect(hWnd: HWND; var lpRect: TRect): BOOL; external 'user32' name 'GetClientRect';
-function GetClipBox(DC: HDC; var Rect: TRect): Integer; external 'gdi32' name 'GetClipBox';
 function GetClipCursor(var lpRect: TRect): BOOL; external 'user32' name 'GetClipCursor';
 function GetColorAdjustment(DC: HDC; var p2: TColorAdjustment): BOOL; external 'gdi32' name 'GetColorAdjustment';
 function GetCommConfig(hCommDev: THandle; var lpCC: TCommConfig; var lpdwSize: DWORD): BOOL; external 'kernel32' name 'GetCommConfig';
@@ -468,7 +507,6 @@ function GetCPInfo(CodePage: UINT; var lpCPInfo: TCPInfo): BOOL;external 'kernel
 {$ifdef support_smartlink}
 function GetCursorInfo(var pci: TCursorInfo): BOOL;external 'user32' name 'GetCursorInfo';
 {$endif support_smartlink}
-function GetCursorPos(var lpPoint: TPoint): BOOL; external 'user32' name 'GetCursorPos';
 function GetDCOrgEx(DC: HDC; var Origin: TPoint): BOOL; external 'gdi32' name 'GetDCOrgEx';
 function GetDefaultCommConfig(lpszName: PChar; var lpCC: TCommConfig; var lpdwSize: DWORD): BOOL;external 'kernel32' name 'GetDefaultCommConfigA';
 function GetDefaultCommConfigA(lpszName: LPCSTR; var lpCC: TCommConfig; var lpdwSize: DWORD): BOOL; external 'kernel32' name 'GetDefaultCommConfigA';
@@ -551,7 +589,6 @@ function GetProcessWorkingSetSize(hProcess: THandle; var lpMinimumWorkingSetSize
 function GetQueuedCompletionStatus(CompletionPort: THandle; var lpNumberOfBytesTransferred, lpCompletionKey: DWORD; var lpOverlapped: POverlapped; dwMilliseconds: DWORD): BOOL; external 'kernel32' name 'GetQueuedCompletionStatus';
 function GetRasterizerCaps(var p1: TRasterizerStatus; p2: UINT): BOOL; external 'gdi32' name 'GetRasterizerCaps';
 function GetRgnBox(RGN: HRGN; var p2: TRect): Integer; external 'gdi32' name 'GetRgnBox';
-function GetScrollInfo(hWnd: HWND; BarFlag: Integer; var ScrollInfo: TScrollInfo): BOOL; external 'user32' name 'GetScrollInfo';
 function GetScrollRange(hWnd: HWND; nBar: Integer; var lpMinPos, lpMaxPos: Integer): BOOL; external 'user32' name 'GetScrollRange';
 //function GetSecurityDescriptorControl(pSecurityDescriptor: PSecurityDescriptor; var pControl: SECURITY_DESCRIPTOR_CONTROL; var lpdwRevision: DWORD): BOOL; external 'advapi32' name 'GetSecurityDescriptorControl';
 //function GetSecurityDescriptorDacl(pSecurityDescriptor: PSecurityDescriptor; var lpbDaclPresent: BOOL; var pDacl: PACL; var lpbDaclDefaulted: BOOL): BOOL; external 'advapi32' name 'GetSecurityDescriptorDacl';
@@ -622,7 +659,6 @@ function GetWorldTransform(DC: HDC; var p2: TXForm): BOOL; external 'gdi32' name
 procedure GlobalMemoryStatus(var Buffer: MEMORYSTATUS); external 'kernel32' name 'GlobalMemoryStatus';
 function HeapWalk(hHeap: THandle; var lpEntry: TProcessHeapEntry): BOOL; external 'kernel32' name 'HeapWalk';
 function ImageList_GetDragImage(var ppt:POINT; var pptHotspot:POINT):HIMAGELIST; external 'comctl32' name 'ImageList_GetDragImage';
-function InflateRect(var lprc: TRect; dx, dy: Integer): BOOL; external 'user32' name 'InflateRect';
 function InitializeAcl(var pAcl: TACL; nAclLength, dwAclRevision: DWORD): BOOL; external 'advapi32' name 'InitializeAcl';
 {$ifdef support_smartlink}
 function InitializeCriticalSectionAndSpinCount(var lpCriticalSection: TRTLCriticalSection; dwSpinCount: DWORD): BOOL;external 'kernel32' name 'InitializeCriticalSectionAndSpinCount';
@@ -644,7 +680,6 @@ function IsDialogMessageA(hDlg: HWND; var lpMsg: TMsg): BOOL; external 'user32'
 function IsDialogMessageW(hDlg: HWND; var lpMsg: TMsg): BOOL; external 'user32' name 'IsDialogMessageW';
 //function IsRectEmpty(const lprc: TRect): BOOL; external 'user32' name 'IsRectEmpty';
 function IsValidAcl(const pAcl: TACL): BOOL; external 'advapi32' name 'IsValidAcl';
-function LocalFileTimeToFileTime(const lpLocalFileTime: TFileTime; var lpFileTime: TFileTime): BOOL; external 'kernel32' name 'LocalFileTimeToFileTime';
 function LockFileEx(hFile: THandle; dwFlags, dwReserved: DWORD; nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh: DWORD; const lpOverlapped: TOverlapped): BOOL; external 'kernel32' name 'LockFileEx';
 function LogonUser(lpszUsername, lpszDomain, lpszPassword: PChar; dwLogonType, dwLogonProvider: DWORD; var phToken: THandle): BOOL;external 'advapi32' name 'LogonUserA';
 function LogonUserA(lpszUsername, lpszDomain, lpszPassword: LPCSTR; dwLogonType, dwLogonProvider: DWORD; var phToken: THandle): BOOL; external 'advapi32' name 'LogonUserA';
@@ -688,7 +723,6 @@ function ObjectPrivilegeAuditAlarm(SubsystemName: PChar; HandleId: Pointer; Clie
 function ObjectPrivilegeAuditAlarmA(SubsystemName: LPCSTR; HandleId: Pointer; ClientToken: THandle; DesiredAccess: DWORD; var Privileges: TPrivilegeSet; AccessGranted: BOOL): BOOL; external 'advapi32' name 'ObjectPrivilegeAuditAlarmA';
 function ObjectPrivilegeAuditAlarmW(SubsystemName: LPWSTR; HandleId: Pointer; ClientToken: THandle; DesiredAccess: DWORD; var Privileges: TPrivilegeSet; AccessGranted: BOOL): BOOL; external 'advapi32' name 'ObjectPrivilegeAuditAlarmW';
 
-function OffsetRect(var lprc: TRect; dx, dy: Integer): BOOL; external 'user32' name 'OffsetRect';
 function OffsetViewportOrgEx(DC: HDC; X, Y: Integer; var Points): BOOL; external 'gdi32' name 'OffsetViewportOrgEx';
 function OffsetWindowOrgEx(DC: HDC; X, Y: Integer; var Points): BOOL; external 'gdi32' name 'OffsetWindowOrgEx';
 function OpenFile(const lpFileName: LPCSTR; var lpReOpenBuff: TOFStruct; uStyle: UINT): HFILE; external 'kernel32' name 'OpenFile';
@@ -782,7 +816,6 @@ function RegQueryValueW(hKey: HKEY; lpSubKey: LPWSTR; lpValue: LPWSTR; var lpcbV
 function ResetDC(DC: HDC; const p2: TDeviceMode): HDC;external 'gdi32' name 'ResetDCA';
 function ResetDCA(DC: HDC; const p2: TDeviceModeA): HDC; external 'gdi32' name 'ResetDCA';
 //function ResetDCW(DC: HDC; const p2: TDeviceModeW): HDC; external 'gdi32' name 'ResetDCW';
-function ScreenToClient(hWnd: HWND; var lpPoint: TPoint): BOOL; external 'user32' name 'ScreenToClient';
 function ScrollConsoleScreenBuffer(hConsoleOutput: THandle; const lpScrollRectangle: TSmallRect; const lpClipRectangle: TSmallRect; dwDestinationOrigin: TCoord; var lpFill: TCharInfo): BOOL;external 'kernel32' name 'ScrollConsoleScreenBufferA';
 function ScrollConsoleScreenBufferA(hConsoleOutput: THandle; const lpScrollRectangle: TSmallRect; const lpClipRectangle: TSmallRect; dwDestinationOrigin: TCoord; var lpFill: TCharInfo): BOOL; external 'kernel32' name 'ScrollConsoleScreenBufferA';
 function ScrollConsoleScreenBufferW(hConsoleOutput: THandle; const lpScrollRectangle: TSmallRect; const lpClipRectangle: TSmallRect; dwDestinationOrigin: TCoord; var lpFill: TCharInfo): BOOL; external 'kernel32' name 'ScrollConsoleScreenBufferW';
@@ -825,7 +858,6 @@ function SetPaletteEntries(Palette: HPALETTE; StartIndex, NumEntries: UINT; var
 //  const GenericMapping: TGenericMapping; Token: THandle): BOOL;external 'advapi32' name 'SetPrivateObjectSecurityEx';
 function SetRect(var lprc: TRect; xLeft, yTop, xRight, yBottom: Integer): BOOL; external 'user32' name 'SetRect';
 function SetRectEmpty(var lprc: TRect): BOOL; external 'user32' name 'SetRectEmpty';
-function SetScrollInfo(hWnd: HWND; BarFlag: Integer; const ScrollInfo: TScrollInfo; Redraw: BOOL): Integer; external 'user32' name 'SetScrollInfo';
 function SetSysColors(cElements: Integer; const lpaElements; const lpaRgbValues): BOOL; external 'user32' name 'SetSysColors';
 //function SetSystemTime(const lpSystemTime: TSystemTime): BOOL; external 'kernel32' name 'SetSystemTime';
 function SetThreadContext(hThread: THandle; const lpContext: TContext): BOOL; external 'kernel32' name 'SetThreadContext';
@@ -856,7 +888,6 @@ function TranslateAcceleratorA(hWnd: HWND; hAccTable: HACCEL; var lpMsg: TMsg):
 function TranslateAcceleratorW(hWnd: HWND; hAccTable: HACCEL; var lpMsg: TMsg): Integer; external 'user32' name 'TranslateAcceleratorW';
 function TranslateCharsetInfo(var lpSrc: DWORD; var lpCs: TCharsetInfo; dwFlags: DWORD): BOOL; external 'gdi32' name 'TranslateCharsetInfo';
 function TranslateMDISysAccel(hWndClient: HWND; const lpMsg: TMsg): BOOL; external 'user32' name 'TranslateMDISysAccel';
-function TranslateMessage(const lpMsg: TMsg): BOOL; external 'user32' name 'TranslateMessage';
 //function TransparentDIBits(DC: HDC; p2, p3, p4, p5: Integer; const p6: Pointer; const p7: PBitmapInfo; p8: UINT; p9, p10, p11, p12: Integer; p13: UINT): BOOL;external 'gdi32' name 'TransparentDIBits';
 {$ifdef support_smartlink}
 function TryEnterCriticalSection(var lpCriticalSection: TRTLCriticalSection): BOOL;external 'kernel32' name 'TryEnterCriticalSection';

+ 5 - 14
rtl/wince/wininc/struct.inc

@@ -449,6 +449,7 @@
        bfReserved2 : Word;
        bfOffBits : DWord;
      end;
+     TBitmapFileHeader = BITMAPFILEHEADER;
 
      BLOB = record
           cbSize : ULONG;
@@ -4792,8 +4793,9 @@
      LPCMENUITEMINFO = ^MENUITEMINFO;
      tagMENUITEMINFO = MENUITEMINFO;
      TMENUITEMINFO = MENUITEMINFO;
-     TMENUITEMINFOA = MENUITEMINFO;
+     TMENUITEMINFOW = MENUITEMINFO;
      PMENUITEMINFO = ^MENUITEMINFO;
+     PMENUITEMINFOW = ^MENUITEMINFO;
 
      MENUITEMTEMPLATE = record
           mtOption : WORD;
@@ -7011,17 +7013,6 @@
      TTOOLINFO = TOOLINFO;
      PTOOLINFO = ^TOOLINFO;
 
-     TOOLTIPTEXT = record
-          hdr : NMHDR;
-          lpszText : LPTSTR;
-          szText : array[0..79] of char;
-          hinst : HINST;
-          uFlags : UINT;
-       end;
-     LPTOOLTIPTEXT = ^TOOLTIPTEXT;
-     TTOOLTIPTEXT = TOOLTIPTEXT;
-     PTOOLTIPTEXT = ^TOOLTIPTEXT;
-
      TPMPARAMS = record
           cbSize : UINT;
           rcExclude : RECT;
@@ -7254,9 +7245,7 @@
        end;
      LPWNDCLASS = ^WNDCLASS;
      _WNDCLASS = WNDCLASS;
-     TWNDCLASS = WNDCLASS;
      TWNDCLASSA = WNDCLASS;
-     PWNDCLASS = ^WNDCLASS;
 
 
      WNDCLASSW = record
@@ -7275,6 +7264,8 @@
      _WNDCLASSW  = WNDCLASSW;
      TWNDCLASSW  = WNDCLASSW;
      PWNDCLASSW  = ^WNDCLASSW;
+     TWNDCLASS = WNDCLASSW;
+     PWNDCLASS = ^WNDCLASSW;
 
      WNDCLASSEX = record
           cbSize : UINT;