فهرست منبع

* Lot of fixes in wince windows unit.

git-svn-id: trunk@6127 -
yury 18 سال پیش
والد
کامیت
f6e9e2e043
6فایلهای تغییر یافته به همراه196 افزوده شده و 78 حذف شده
  1. 64 11
      rtl/wince/wininc/commctrl.inc
  2. 47 10
      rtl/wince/wininc/coredll.inc
  3. 18 5
      rtl/wince/wininc/defines.inc
  4. 5 12
      rtl/wince/wininc/messages.inc
  5. 57 26
      rtl/wince/wininc/redef.inc
  6. 5 14
      rtl/wince/wininc/struct.inc

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

@@ -202,6 +202,7 @@ const
   DTM_SETMCFONT       = DTM_FIRST + 9;
   DTM_SETMCFONT       = DTM_FIRST + 9;
   DTM_GETMCFONT       = DTM_FIRST + 10;
   DTM_GETMCFONT       = DTM_FIRST + 10;
   DTM_SETFORMATW      = DTM_FIRST + 50;
   DTM_SETFORMATW      = DTM_FIRST + 50;
+  DTM_SETFORMAT       = DTM_SETFORMATW;
 
 
 
 
   DTS_UPDOWN                 = $0001;
   DTS_UPDOWN                 = $0001;
@@ -270,6 +271,32 @@ const
   TBN_DRAGOUT         = (TBN_FIRST - 14);
   TBN_DRAGOUT         = (TBN_FIRST - 14);
   //TBN_GETBUTTONINFO   = TBN_GETBUTTONINFOW;
   //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
   // Pocket PC  special controls
   WC_CAPEDIT    = 'CAPEDIT';
   WC_CAPEDIT    = 'CAPEDIT';
   WC_TSTATIC    = 'TTSTATIC';
   WC_TSTATIC    = 'TTSTATIC';
@@ -294,16 +321,6 @@ type
   TNMDATETIMECHANGE=tagNMDATETIMECHANGE;
   TNMDATETIMECHANGE=tagNMDATETIMECHANGE;
   LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE;
   LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE;
 
 
-  tagNMDATETIMESTRINGA = record
-    nmhdr         : NMHDR;
-    pszUserString : LPCSTR;
-    st            : SYSTEMTIME;
-    dwFlags       : DWORD;
-  end;
-  NMDATETIMESTRINGA=tagNMDATETIMESTRINGA;
-  TNMDATETIMESTRINGA=tagNMDATETIMESTRINGA;
-  LPNMDATETIMESTRINGA=^tagNMDATETIMESTRINGA;
-
   tagNMDATETIMESTRINGW = record
   tagNMDATETIMESTRINGW = record
     nmhdr         : NMHDR;
     nmhdr         : NMHDR;
     pszUserString : LPCWSTR;
     pszUserString : LPCWSTR;
@@ -313,6 +330,9 @@ type
   NMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
   NMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
   TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
   TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
   LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW;
   LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW;
+  NMDATETIMESTRING=tagNMDATETIMESTRINGW;
+  TNMDATETIMESTRING=tagNMDATETIMESTRINGW;
+  PNMDATETIMESTRING=^tagNMDATETIMESTRINGW;
 
 
   tagNMDATETIMEWMKEYDOWNA = record
   tagNMDATETIMEWMKEYDOWNA = record
     nmhdr     : NMHDR;
     nmhdr     : NMHDR;
@@ -394,6 +414,7 @@ type
   end;
   end;
   NMMOUSE=tagNMMOUSE;
   NMMOUSE=tagNMMOUSE;
   LPNMMOUSE=^NMMOUSE;
   LPNMMOUSE=^NMMOUSE;
+  PNMMOUSE=^NMMOUSE;
   NMCLICK=NMMOUSE;
   NMCLICK=NMMOUSE;
   LPNMCLICK=LPNMMOUSE;
   LPNMCLICK=LPNMMOUSE;
 
 
@@ -412,7 +433,39 @@ type
   end;
   end;
   LPTBBUTTONINFOW=^TBBUTTONINFOW;
   LPTBBUTTONINFOW=^TBBUTTONINFOW;
   TBBUTTONINFO=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
 // functions
 //*****************************************************************************
 //*****************************************************************************

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

@@ -175,7 +175,6 @@
       111 CreateMsgQueue
       111 CreateMsgQueue
       16E CreateServiceHandle
       16E CreateServiceHandle
       34E CreateStaticMapping
       34E CreateStaticMapping
-      2F4 CreateThread
        C5 CryptAcquireContextW
        C5 CryptAcquireContextW
        E1 CryptContextAddRef
        E1 CryptContextAddRef
        D0 CryptCreateHash
        D0 CryptCreateHash
@@ -237,7 +236,6 @@
       14D EnumUILanguagesW
       14D EnumUILanguagesW
       374 ExtractResource
       374 ExtractResource
       17F FileSystemPowerFunction
       17F FileSystemPowerFunction
-      511 FillRgn
       381 FilterTrackedItem
       381 FilterTrackedItem
       345 FlushViewOfFileMaybe
       345 FlushViewOfFileMaybe
       334 ForcePageout
       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 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 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 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 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;
 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';
   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';
 function FileTimeToSystemTime(lpFileTime:LPFILETIME; lpSystemTime:LPSYSTEMTIME):WINBOOL; external KernelDLL name 'FileTimeToSystemTime';
 procedure FillMemory(Destination:PVOID; Length:DWORD; Fill:BYTE);
 procedure FillMemory(Destination:PVOID; Length:DWORD; Fill:BYTE);
 function FillRect(hDC:HDC; const lprc:RECT; hbr:HBRUSH):longint; external KernelDLL name 'FillRect';
 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 FindClose(hFindFile:HWND):WINBOOL; external KernelDLL name 'FindClose';
 function FindCloseChangeNotification(hChangeHandle:HWND):WINBOOL; external KernelDLL name 'FindCloseChangeNotification';
 function FindCloseChangeNotification(hChangeHandle:HWND):WINBOOL; external KernelDLL name 'FindCloseChangeNotification';
 function FindFirstChangeNotification(lpPathName:LPCWSTR; bWatchSubtree:WINBOOL; dwNotifyFilter:DWORD):HWND; external KernelDLL name 'FindFirstChangeNotificationW';
 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 GetSaveFileName(_para1:LPOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetSaveFileNameW';
 function GetSaveFileNameW(_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 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;
 function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: LPTSTR; nFolder: LongInt; fCreate: BOOL): BOOL;
   external KernelDLL name 'SHGetSpecialFolderPath';
   external KernelDLL name 'SHGetSpecialFolderPath';
 function GetStockObject(_para1:longint):HGDIOBJ; external KernelDLL name 'GetStockObject';
 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_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
 function ImageList_DrawIndirect(pimldp:PIMAGELISTDRAWPARAMS):WINBOOL; external KernelDLL name 'ImageList_DrawIndirect'; //+commctrl
 procedure ImageList_EndDrag; external KernelDLL name 'ImageList_EndDrag';
 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_GetBkColor(himl:HIMAGELIST):COLORREF; external KernelDLL name 'ImageList_GetBkColor';
 function ImageList_GetDragImage(ppt:LPPOINT; pptHotspot:LPPOINT):HIMAGELIST; external KernelDLL name 'ImageList_GetDragImage';
 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_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_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_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_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_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_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';
 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 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 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 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 RegFlushKey(hKey:HKEY):LONG; external KernelDLL name 'RegFlushKey';
 function RegisterClass(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW';
 function RegisterClass(lpWndClass:LPWNDCLASS):ATOM; external KernelDLL name 'RegisterClassW';
 function RegisterClassW(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';
   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;
 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';
   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 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 RegSaveKey(hKey:HKEY; lpFile:LPCTSTR; lpSecurityAttributes:LPSECURITY_ATTRIBUTES):LONG; external KernelDLL name 'RegSaveKey';
 function ReleaseCapture:WINBOOL; external KernelDLL name 'ReleaseCapture';
 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 TlsFree(dwTlsIndex:DWORD):WINBOOL;
 function TlsGetValue(dwTlsIndex:DWORD):LPVOID; external KernelDLL name 'TlsGetValue';
 function TlsGetValue(dwTlsIndex:DWORD):LPVOID; external KernelDLL name 'TlsGetValue';
 function TlsSetValue(dwTlsIndex:DWORD; lpTlsValue:LPVOID):WINBOOL; external KernelDLL name 'TlsSetValue';
 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 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 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';
 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);
   TabCtrl_SetCurFocus:=SendMessage(hwnd,TCM_SETCURFOCUS,i,0);
 end;
 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
 begin
   TrackPopupMenu:=TrackPopupMenuEx(hMenu,uFlags,x,y,hWnd,nil);
   TrackPopupMenu:=TrackPopupMenuEx(hMenu,uFlags,x,y,hWnd,nil);
 end;
 end;
@@ -4258,6 +4262,39 @@ begin
   FillChar(Destination^,Length,#0);
   FillChar(Destination^,Length,#0);
 end;
 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}
 {$endif read_implementation}
 
 
 
 

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

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

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

@@ -528,7 +528,10 @@
   { Progress bar control  }
   { Progress bar control  }
      PBM_DELTAPOS = 1027;
      PBM_DELTAPOS = 1027;
      PBM_SETPOS = 1026;
      PBM_SETPOS = 1026;
+     PBM_GETPOS = WM_USER+8;
      PBM_SETRANGE = 1025;
      PBM_SETRANGE = 1025;
+     PBM_SETRANGE32 = WM_USER+6;
+     PBM_GETRANGE = WM_USER+7;
      PBM_SETSTEP = 1028;
      PBM_SETSTEP = 1028;
      PBM_STEPIT = 1029;
      PBM_STEPIT = 1029;
   { Property sheets  } //prsht
   { Property sheets  } //prsht
@@ -641,6 +644,8 @@
      TB_ADDSTRINGA = 1052;
      TB_ADDSTRINGA = 1052;
      TB_GETBUTTONTEXTA = 1069;
      TB_GETBUTTONTEXTA = 1069;
      TB_SAVERESTOREA = 1050;
      TB_SAVERESTOREA = 1050;
+     TB_SETINDENT = WM_USER + 47;
+     TB_SETBUTTONWIDTH = WM_USER + 59;
 {$ifdef UNICODE}
 {$ifdef UNICODE}
 
 
   const
   const
@@ -833,18 +838,6 @@
      TTM_RELAYEVENT = 1031;
      TTM_RELAYEVENT = 1031;
      TTM_SETDELAYTIME = 1027;
      TTM_SETDELAYTIME = 1027;
      TTM_WINDOWFROMPOINT = 1040;
      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  }
   { UNICODE  }
 
 
   const
   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_NEUTRAL: DWORD;                                   //winnt
 function LOCALE_INVARIANT: 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;
 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';
   const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation): BOOL; external KernelDLL name 'CreateProcessW';
 procedure DeleteCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'DeleteCriticalSection';
 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';
 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 GetExitCodeProcess(hProcess: THandle; var lpExitCode: DWORD): BOOL; external KernelDLL name 'GetExitCodeProcess';
 function GetExitCodeThread(hThread: THandle; var lpExitCode: DWORD): BOOL; external KernelDLL name 'GetExitCodeThread';
 function GetExitCodeThread(hThread: THandle; var lpExitCode: DWORD): BOOL; external KernelDLL name 'GetExitCodeThread';
 procedure GetLocalTime(var SystemTime: SYSTEMTIME); external KernelDLL name 'GetLocalTime';
 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 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 InitializeCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'InitializeCriticalSection';
 procedure LeaveCriticalSection(var CriticalSection : TRTLCriticalSection); external KernelDLL name 'LeaveCriticalSection';
 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
 //redirected to MsgWaitForMultipleObjectsEx
 function MsgWaitForMultipleObjects(nCount: DWORD; var pHandles; fWaitAll: BOOL; dwMilliseconds, dwWakeMask: DWORD): DWORD;
 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 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 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 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 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 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 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 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
 !!! The following commented out part is copied from win32 redef.inc
 It is profided as reference. Functions which exists in wince should be corrected
 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 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 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 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 BuildCommDCB(lpDef: PChar; var lpDCB: TDCB): BOOL;external 'kernel32' name 'BuildCommDCBA';
 function BuildCommDCBA(lpDef: LPCSTR; 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';
 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 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 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 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 ClipCursor(var lpRect:RECT):WINBOOL; external 'user32' name 'ClipCursor';
 //function CombineTransform(var p1: TXForm; const p2, p3: TXForm): BOOL; external 'gdi32' name 'CombineTransform';
 //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';
 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 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;
 function CreateRemoteThread(hProcess: THandle; lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWORD): THandle;
   external 'kernel32' name 'CreateRemoteThread';
   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 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 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';
 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 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 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 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 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 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';
 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 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;
 //function DuplicateTokenEx(hExistingToken: THandle; dwDesiredAccess: DWORD; lpTokenAttributes: PSecurityAttributes; ImpersonationLevel: TSecurityImpersonationLevel; TokenType: TTokenType; var phNewToken: THandle): BOOL;
 //  external 'advapi32' name 'DuplicateTokenEx';
 //  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 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 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';
 //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 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 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 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 GetClipCursor(var lpRect: TRect): BOOL; external 'user32' name 'GetClipCursor';
 function GetColorAdjustment(DC: HDC; var p2: TColorAdjustment): BOOL; external 'gdi32' name 'GetColorAdjustment';
 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';
 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}
 {$ifdef support_smartlink}
 function GetCursorInfo(var pci: TCursorInfo): BOOL;external 'user32' name 'GetCursorInfo';
 function GetCursorInfo(var pci: TCursorInfo): BOOL;external 'user32' name 'GetCursorInfo';
 {$endif support_smartlink}
 {$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 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 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';
 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 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 GetRasterizerCaps(var p1: TRasterizerStatus; p2: UINT): BOOL; external 'gdi32' name 'GetRasterizerCaps';
 function GetRgnBox(RGN: HRGN; var p2: TRect): Integer; external 'gdi32' name 'GetRgnBox';
 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 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 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';
 //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';
 procedure GlobalMemoryStatus(var Buffer: MEMORYSTATUS); external 'kernel32' name 'GlobalMemoryStatus';
 function HeapWalk(hHeap: THandle; var lpEntry: TProcessHeapEntry): BOOL; external 'kernel32' name 'HeapWalk';
 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 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';
 function InitializeAcl(var pAcl: TACL; nAclLength, dwAclRevision: DWORD): BOOL; external 'advapi32' name 'InitializeAcl';
 {$ifdef support_smartlink}
 {$ifdef support_smartlink}
 function InitializeCriticalSectionAndSpinCount(var lpCriticalSection: TRTLCriticalSection; dwSpinCount: DWORD): BOOL;external 'kernel32' name 'InitializeCriticalSectionAndSpinCount';
 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 IsDialogMessageW(hDlg: HWND; var lpMsg: TMsg): BOOL; external 'user32' name 'IsDialogMessageW';
 //function IsRectEmpty(const lprc: TRect): BOOL; external 'user32' name 'IsRectEmpty';
 //function IsRectEmpty(const lprc: TRect): BOOL; external 'user32' name 'IsRectEmpty';
 function IsValidAcl(const pAcl: TACL): BOOL; external 'advapi32' name 'IsValidAcl';
 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 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 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';
 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 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 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 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 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';
 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 ResetDC(DC: HDC; const p2: TDeviceMode): HDC;external 'gdi32' name 'ResetDCA';
 function ResetDCA(DC: HDC; const p2: TDeviceModeA): 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 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 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 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';
 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';
 //  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 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 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 SetSysColors(cElements: Integer; const lpaElements; const lpaRgbValues): BOOL; external 'user32' name 'SetSysColors';
 //function SetSystemTime(const lpSystemTime: TSystemTime): BOOL; external 'kernel32' name 'SetSystemTime';
 //function SetSystemTime(const lpSystemTime: TSystemTime): BOOL; external 'kernel32' name 'SetSystemTime';
 function SetThreadContext(hThread: THandle; const lpContext: TContext): BOOL; external 'kernel32' name 'SetThreadContext';
 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 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 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 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';
 //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}
 {$ifdef support_smartlink}
 function TryEnterCriticalSection(var lpCriticalSection: TRTLCriticalSection): BOOL;external 'kernel32' name 'TryEnterCriticalSection';
 function TryEnterCriticalSection(var lpCriticalSection: TRTLCriticalSection): BOOL;external 'kernel32' name 'TryEnterCriticalSection';

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

@@ -449,6 +449,7 @@
        bfReserved2 : Word;
        bfReserved2 : Word;
        bfOffBits : DWord;
        bfOffBits : DWord;
      end;
      end;
+     TBitmapFileHeader = BITMAPFILEHEADER;
 
 
      BLOB = record
      BLOB = record
           cbSize : ULONG;
           cbSize : ULONG;
@@ -4792,8 +4793,9 @@
      LPCMENUITEMINFO = ^MENUITEMINFO;
      LPCMENUITEMINFO = ^MENUITEMINFO;
      tagMENUITEMINFO = MENUITEMINFO;
      tagMENUITEMINFO = MENUITEMINFO;
      TMENUITEMINFO = MENUITEMINFO;
      TMENUITEMINFO = MENUITEMINFO;
-     TMENUITEMINFOA = MENUITEMINFO;
+     TMENUITEMINFOW = MENUITEMINFO;
      PMENUITEMINFO = ^MENUITEMINFO;
      PMENUITEMINFO = ^MENUITEMINFO;
+     PMENUITEMINFOW = ^MENUITEMINFO;
 
 
      MENUITEMTEMPLATE = record
      MENUITEMTEMPLATE = record
           mtOption : WORD;
           mtOption : WORD;
@@ -7011,17 +7013,6 @@
      TTOOLINFO = TOOLINFO;
      TTOOLINFO = TOOLINFO;
      PTOOLINFO = ^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
      TPMPARAMS = record
           cbSize : UINT;
           cbSize : UINT;
           rcExclude : RECT;
           rcExclude : RECT;
@@ -7254,9 +7245,7 @@
        end;
        end;
      LPWNDCLASS = ^WNDCLASS;
      LPWNDCLASS = ^WNDCLASS;
      _WNDCLASS = WNDCLASS;
      _WNDCLASS = WNDCLASS;
-     TWNDCLASS = WNDCLASS;
      TWNDCLASSA = WNDCLASS;
      TWNDCLASSA = WNDCLASS;
-     PWNDCLASS = ^WNDCLASS;
 
 
 
 
      WNDCLASSW = record
      WNDCLASSW = record
@@ -7275,6 +7264,8 @@
      _WNDCLASSW  = WNDCLASSW;
      _WNDCLASSW  = WNDCLASSW;
      TWNDCLASSW  = WNDCLASSW;
      TWNDCLASSW  = WNDCLASSW;
      PWNDCLASSW  = ^WNDCLASSW;
      PWNDCLASSW  = ^WNDCLASSW;
+     TWNDCLASS = WNDCLASSW;
+     PWNDCLASS = ^WNDCLASSW;
 
 
      WNDCLASSEX = record
      WNDCLASSEX = record
           cbSize : UINT;
           cbSize : UINT;