Browse Source

* updated wince windows unit.

git-svn-id: trunk@6352 -
yury 18 years ago
parent
commit
125136d069

+ 36 - 5
rtl/wince/wininc/ceshell.inc

@@ -178,19 +178,52 @@
 // consts
 //*****************************************************************************
 const
-   ShellDLL      = 'CEShell';
-
-
+  ShellDLL      = 'CEShell';
+
+  FO_MOVE           = $0001;
+  FO_COPY           = $0002;
+  FO_DELETE         = $0003;
+  FO_RENAME         = $0004;
+
+  FOF_MULTIDESTFILES         = $0001;
+  FOF_CONFIRMMOUSE           = $0002;
+  FOF_SILENT                 = $0004;  // don't create progress/report
+  FOF_RENAMEONCOLLISION      = $0008;
+  FOF_NOCONFIRMATION         = $0010;  // Don't prompt the user.
+  FOF_WANTMAPPINGHANDLE      = $0020;  // Fill in SHFILEOPSTRUCT.hNameMappings
+                                      // Must be freed using SHFreeNameMappings
+  FOF_ALLOWUNDO              = $0040;
+  FOF_FILESONLY              = $0080;  // on *.*, do only files
+  FOF_SIMPLEPROGRESS         = $0100;  // means don't show names of files
+  FOF_NOCONFIRMMKDIR         = $0200;  // don't confirm making any needed dirs
+  
 //*****************************************************************************
 // types
 //*****************************************************************************
 
+type
+{ IMalloc interface }
+
+  IMalloc = interface(IUnknown)
+    ['{00000002-0000-0000-C000-000000000046}']
+    function Alloc(cb: Longint): Pointer;
+    function Realloc(pv: Pointer; cb: Longint): Pointer;
+    procedure Free(pv: Pointer);
+    function GetSize(pv: Pointer): Longint;
+    function DidAlloc(pv: Pointer): Integer;
+    procedure HeapMinimize;
+  end;
+  LPMALLOC = ^IMalloc;
+  PMALLOC = ^IMalloc;
+
 //*****************************************************************************
 // functions
 //*****************************************************************************
 function SHFileOperation(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW';
 function SHFileOperationW(lpFileOp:LPSHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW';
 function SHGetPathFromIDList(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList';
+function SHGetPathFromIDListW(_para1:LPCITEMIDLIST; _para2:LPTSTR):WINBOOL; external ShellDLL name 'SHGetPathFromIDList';
+function SHGetMalloc(var ppMalloc: LPMALLOC): HRESULT; external ShellDLL name 'SHGetMalloc';
 function SHGetSpecialFolderLocation(_para1:HWND; _para2:longint; var _para3:LPITEMIDLIST):HRESULT; external ShellDLL name 'SHGetSpecialFolderLocation';
 
 {$endif read_interface}
@@ -199,5 +232,3 @@ function SHGetSpecialFolderLocation(_para1:HWND; _para2:longint; var _para3:LPIT
 
 
 {$endif read_implementation}
-
-

+ 2 - 0
rtl/wince/wininc/commctrl.inc

@@ -211,6 +211,8 @@ const
   DTN_WMKEYDOWNW      = DTN_FIRST + 16;
   DTN_FORMATW         = DTN_FIRST + 17;
   DTN_FORMATQUERYW    = DTN_FIRST + 18;
+  
+  DTN_USERSTRING     = DTN_USERSTRINGW;
 
   GDTR_MIN            = $0001;
   GDTR_MAX            = $0002;

+ 1 - 0
rtl/wince/wininc/coredll.inc

@@ -3071,6 +3071,7 @@ procedure SHAddToRecentDocs(_para1:UINT; _para2:LPCVOID); external KernelDLL nam
 function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconDataA): WINBOOL; external KernelDLL name 'Shell_NotifyIcon';
 function ShellExecuteEx(lpExecInfo:LPSHELLEXECUTEINFO):WINBOOL; external KernelDLL name 'ShellExecuteEx';
 function SHGetFileInfo(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _para4:UINT; _para5:UINT):DWORD; external KernelDLL name 'SHGetFileInfo';
+function SHGetFileInfoW(_para1:LPCTSTR; _para2:DWORD; var _para3:SHFILEINFO; _para4:UINT; _para5:UINT):DWORD; external KernelDLL name 'SHGetFileInfo';
 function ShowCaret(hWnd:HWND):WINBOOL; external KernelDLL name 'ShowCaret';
 function ShowCursor(bShow:WINBOOL):longint; external KernelDLL name 'ShowCursor';
 function ShowWindow(hWnd:HWND; nCmdShow:longint):WINBOOL; external KernelDLL name 'ShowWindow';

+ 14 - 0
rtl/wince/wininc/defines.inc

@@ -2733,6 +2733,20 @@ Const
      HSHELL_WINDOWCREATED = 1;
      HSHELL_WINDOWDESTROYED = 2;
   { SHGetFileInfo  }
+  // supported SHGetFileInfo input flags
+     SHGFI_ICON              = $000000100;     // get icon
+     SHGFI_DISPLAYNAME       = $000000200;     // get display name
+     SHGFI_TYPENAME          = $000000400;     // get type name
+     SHGFI_ATTRIBUTES        = $000000800;     // get attributes
+     SHGFI_SYSICONINDEX      = $000004000;     // get system icon index
+     SHGFI_LARGEICON         = $000000000;     // get large icon
+     SHGFI_SMALLICON         = $000000001;     // get small icon
+     SHGFI_USEFILEATTRIBUTES = $000000010;     // use passed dwFileAttribute
+     SHGFI_PIDL              = $000000008;     // pszPath is a pidl
+// supported SHGetFileInfo output attributes
+     SFGAO_LINK              = $00010000;     // Shortcut (link)
+     SFGAO_READONLY          = $00040000;     // read-only
+     SFGAO_FOLDER            = $20000000;     // It's a folder.
   { SHGetSpecialFolderLocation  }
   { ShowWindow  }
      SW_HIDE = 0;

+ 1 - 1
rtl/wince/wininc/messages.inc

@@ -681,7 +681,7 @@
      TB_SETPARENT = 1061;
      TB_SETROWS = 1063;
      TB_SETSTATE = 1041;
-     TB_SETTOOLTIPS = 1060;
+     TB_SETTOOLTIPS = WM_USER + 81;
   { Track bar control  }
      TBM_CLEARSEL = 1043;
      TBM_CLEARTICS = 1033;

+ 6 - 0
rtl/wince/wininc/redef.inc

@@ -172,6 +172,10 @@ procedure GetLocalTime(var SystemTime: SYSTEMTIME); external KernelDLL name 'Get
 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 GetOpenFileName(var OpenFile:TOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetOpenFileNameW';
+function GetOpenFileNameW(var OpenFile:TOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetOpenFileNameW';
+function GetSaveFileName(var OpenFile:TOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetSaveFileNameW';
+function GetSaveFileNameW(var OpenFile:TOPENFILENAMEW):WINBOOL; external KernelDLL name 'GetSaveFileNameW';
 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;
@@ -206,6 +210,8 @@ function SetLocalTime(var lpSystemTime:SYSTEMTIME):WINBOOL; external KernelDLL n
 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 SHFileOperation(const lpFileOp:SHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW';
+function SHFileOperationW(const lpFileOp:SHFILEOPSTRUCTW): longint; external ShellDLL name 'SHFileOperationW';
 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';

+ 16 - 62
rtl/wince/wininc/struct.inc

@@ -478,21 +478,6 @@
      TITEMIDLIST = ITEMIDLIST;
      PITEMIDLIST = ^ITEMIDLIST;
 
-     BROWSEINFO = record
-          hwndOwner : HWND;
-          pidlRoot : LPCITEMIDLIST;
-          pszDisplayName : LPSTR;
-          lpszTitle : LPCSTR;
-          ulFlags : UINT;
-          lpfn : BFFCALLBACK;
-          lParam : LPARAM;
-          iImage : longint;
-       end;
-     LPBROWSEINFO = ^BROWSEINFO;
-     _browseinfo = BROWSEINFO;
-     Tbrowseinfo = BROWSEINFO;
-     PBROWSEINFO = ^BROWSEINFO;
-
      FILETIME = record
           dwLowDateTime : DWORD;
           dwHighDateTime : DWORD;
@@ -5408,36 +5393,6 @@
      TOFSTRUCT = OFSTRUCT;
      POFSTRUCT = ^OFSTRUCT;
 
-     OPENFILENAME = record
-          lStructSize : DWORD;
-          hwndOwner : HWND;
-          hInstance : HINST;
-          lpstrFilter : LPCTSTR;
-          lpstrCustomFilter : LPTSTR;
-          nMaxCustFilter : DWORD;
-          nFilterIndex : DWORD;
-          lpstrFile : LPTSTR;
-          nMaxFile : DWORD;
-          lpstrFileTitle : LPTSTR;
-          nMaxFileTitle : DWORD;
-          lpstrInitialDir : LPCTSTR;
-          lpstrTitle : LPCTSTR;
-          Flags : DWORD;
-          nFileOffset : WORD;
-          nFileExtension : WORD;
-          lpstrDefExt : LPCTSTR;
-          lCustData : DWORD;
-          lpfnHook : LPOFNHOOKPROC;
-          lpTemplateName : LPCTSTR;
-       end;
-     LPOPENFILENAME = ^OPENFILENAME;
-     TOPENFILENAME = OPENFILENAME;
-     POPENFILENAME = ^OPENFILENAME;
-
-     tagOFN = OPENFILENAME;
-     TOFN = OPENFILENAME;
-     POFN = ^OPENFILENAME;
-
      OPENFILENAMEW = record     //+commdlg
           lStructSize : DWORD;
           hwndOwner : HWND;
@@ -5462,6 +5417,15 @@
        end;
      LPOPENFILENAMEW = ^OPENFILENAMEW; //+commdlg
      tagOFNW = OPENFILENAMEW; //+commdlg
+     LPOPENFILENAME = ^OPENFILENAMEW;
+     TOPENFILENAME = OPENFILENAMEW;
+     POPENFILENAME = ^OPENFILENAMEW;
+     TOPENFILENAMEW = OPENFILENAMEW;
+     POPENFILENAMEW = ^OPENFILENAMEW;
+
+     tagOFN = OPENFILENAMEW;
+     TOFN = OPENFILENAMEW;
+     POFN = ^OPENFILENAMEW;
 
      OFNOTIFY = record
           hdr : NMHDR;
@@ -6534,23 +6498,8 @@
      TFILEOPFLAGS = FILEOP_FLAGS;
      PFILEOPFLAGS = ^FILEOP_FLAGS;
 
-     SHFILEOPSTRUCT = record
-          hwnd : HWND;
-          wFunc : UINT;
-          pFrom : LPCSTR;
-          pTo : LPCSTR;
-          fFlags : FILEOP_FLAGS;
-          fAnyOperationsAborted : WINBOOL;
-          hNameMappings : LPVOID;
-          lpszProgressTitle : LPCSTR;
-       end;
-     LPSHFILEOPSTRUCT = ^SHFILEOPSTRUCT;
-     _SHFILEOPSTRUCT = SHFILEOPSTRUCT;
-     TSHFILEOPSTRUCT = SHFILEOPSTRUCT;
-     PSHFILEOPSTRUCT = ^SHFILEOPSTRUCT;
-
      SHFILEOPSTRUCTW = record //+shellapi
-          hwnd : HWND;
+          wnd : HWND;
           wFunc : UINT;
           pFrom : LPCWSTR;
           pTo : LPCWSTR;
@@ -6560,7 +6509,12 @@
           lpszProgressTitle : LPCWSTR;
        end;
      LPSHFILEOPSTRUCTW = ^SHFILEOPSTRUCTW;
-     
+     _SHFILEOPSTRUCT = SHFILEOPSTRUCTW;
+     TSHFILEOPSTRUCT = SHFILEOPSTRUCTW;
+     PSHFILEOPSTRUCT = ^SHFILEOPSTRUCTW;
+     TSHFILEOPSTRUCTW = SHFILEOPSTRUCTW;
+     PSHFILEOPSTRUCTW = ^SHFILEOPSTRUCTW;
+
      SHGNO = (SHGDN_NORMAL := 0,SHGDN_INFOLDER := 1,
        SHGDN_FORPARSING := $8000);
      tagSHGDN = SHGNO;