diff --git a/rtl/win16/win31.pp b/rtl/win16/win31.pp index ec5b5927fd..0b8e9b4ffd 100644 --- a/rtl/win16/win31.pp +++ b/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. diff --git a/rtl/win16/winprocsh.inc b/rtl/win16/winprocsh.inc index 6696d201f4..9fdad3526c 100644 --- a/rtl/win16/winprocsh.inc +++ b/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'; diff --git a/rtl/win16/wintypes.inc b/rtl/win16/wintypes.inc index c02e7766b8..97e4971903 100644 --- a/rtl/win16/wintypes.inc +++ b/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;