Explorar o código

+ added the win16api clipboard functions

git-svn-id: trunk@31791 -
nickysn %!s(int64=10) %!d(string=hai) anos
pai
achega
16b26dab19
Modificáronse 3 ficheiros con 81 adicións e 0 borrados
  1. 3 0
      rtl/win16/win31.pp
  2. 28 0
      rtl/win16/winprocsh.inc
  3. 50 0
      rtl/win16/wintypes.inc

+ 3 - 0
rtl/win16/win31.pp

@@ -792,6 +792,9 @@ function IsMenu(hmenu: HMENU): BOOL; external 'USER';
 { Scroll bar support }
 function EnableScrollBar(hwnd: HWND; fnSBFlags: SmallInt; fuArrowFlags: UINT): BOOL; external 'USER';
 
+{ Clipboard Manager Functions }
+function GetOpenClipboardWindow: HWND; external 'USER';
+
 implementation
 
 end.

+ 28 - 0
rtl/win16/winprocsh.inc

@@ -1072,3 +1072,31 @@ procedure GetScrollRange(hwnd: HWND; fnBar: SmallInt; lpnMinPos, lpnMaxPos: LPIN
 procedure GetScrollRange(hwnd: HWND; fnBar: SmallInt; var nMinPos, nMaxPos: SmallInt); external 'USER';
 {$endif}
 procedure ShowScrollBar(hwnd: HWND; fnBar: SmallInt; fShow: BOOL); external 'USER';
+
+{ Clipboard manager }
+
+{ Clipboard Manager Functions }
+function OpenClipboard(hwnd: HWND): BOOL; external 'USER';
+function CloseClipboard: BOOL; external 'USER';
+function EmptyClipboard: BOOL; external 'USER';
+
+function GetClipboardOwner: HWND; external 'USER';
+
+function SetClipboardViewer(hwnd: HWND): HWND; external 'USER';
+function GetClipboardViewer: HWND; external 'USER';
+
+function SetClipboardData(uFormat: UINT; hData: HANDLE): HANDLE; external 'USER';
+function GetClipboardData(uFormat: UINT): HANDLE; external 'USER';
+
+function IsClipboardFormatAvailable(uFormat: UINT): BOOL; external 'USER';
+function GetPriorityClipboardFormat(lpuPriorityList: LPUINT; cEntries: SmallInt): SmallInt; external 'USER';
+{$ifdef VAR_PARAMS_ARE_FAR}
+function GetPriorityClipboardFormat(var uPriorityList; cEntries: SmallInt): SmallInt; external 'USER';
+{$endif}
+
+function RegisterClipboardFormat(lpszFormatName: LPCSTR): UINT; external 'USER';
+function CountClipboardFormats: SmallInt; external 'USER';
+function EnumClipboardFormats(uFormat: UINT): UINT; external 'USER';
+function GetClipboardFormatName(uFormat: UINT; lpszFormatName: LPSTR; cbMax: SmallInt): SmallInt; external 'USER';
+
+function ChangeClipboardChain(hwnd, hwndNext: HWND): BOOL; external 'USER';

+ 50 - 0
rtl/win16/wintypes.inc

@@ -2033,3 +2033,53 @@ const
 
   ESB_DISABLE_LTUP  = ESB_DISABLE_LEFT;
   ESB_DISABLE_RTDN  = ESB_DISABLE_RIGHT;
+
+{ Clipboard manager }
+
+{ Predefined Clipboard Formats }
+  CF_TEXT             = 1;
+  CF_BITMAP           = 2;
+  CF_METAFILEPICT     = 3;
+  CF_SYLK             = 4;
+  CF_DIF              = 5;
+  CF_TIFF             = 6;
+  CF_OEMTEXT          = 7;
+  CF_DIB              = 8;
+  CF_PALETTE          = 9;
+  CF_PENDATA          = 10;
+  CF_RIFF             = 11;
+  CF_WAVE             = 12;
+
+  CF_OWNERDISPLAY     = $0080;
+  CF_DSPTEXT          = $0081;
+  CF_DSPBITMAP        = $0082;
+  CF_DSPMETAFILEPICT  = $0083;
+
+{ "Private" formats don't get GlobalFree()'d }
+  CF_PRIVATEFIRST     = $0200;
+  CF_PRIVATELAST      = $02FF;
+
+{ "GDIOBJ" formats do get DeleteObject()'d }
+  CF_GDIOBJFIRST      = $0300;
+  CF_GDIOBJLAST       = $03FF;
+
+{ Clipboard command messages }
+  WM_CUT              = $0300;
+  WM_COPY             = $0301;
+  WM_PASTE            = $0302;
+  WM_CLEAR            = $0303;
+  WM_UNDO             = $0304;
+
+{ Clipboard owner messages }
+  WM_RENDERFORMAT     = $0305;
+  WM_RENDERALLFORMATS = $0306;
+  WM_DESTROYCLIPBOARD = $0307;
+
+{ Clipboard viewer messages }
+  WM_DRAWCLIPBOARD    = $0308;
+  WM_PAINTCLIPBOARD   = $0309;
+  WM_SIZECLIPBOARD    = $030B;
+  WM_VSCROLLCLIPBOARD = $030A;
+  WM_HSCROLLCLIPBOARD = $030E;
+  WM_ASKCBFORMATNAME  = $030C;
+  WM_CHANGECBCHAIN    = $030D;