fpc/rtl/os2/pmstddlg.pas
2023-07-27 19:04:03 +02:00

1294 lines
40 KiB
ObjectPascal

{****************************************************************************
PMSTDDLG interface unit
FPC Pascal Runtime Library for OS/2
Copyright (c) 1999-2000 by Florian Klaempfl
Copyright (c) 2002 by Yuri Prokushev
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
****************************************************************************}
{Warning: This code is alfa. Future versions of this unit will propably
not be compatible.}
{$IFNDEF FPC_DOTTEDUNITS}
unit PMStdDlg;
{$ENDIF FPC_DOTTEDUNITS}
interface
{$IFDEF FPC_DOTTEDUNITS}
uses
OS2Api.os2def,OS2Api.doscalls,OS2Api.pmwin,OS2Api.pmgpi;
{$ELSE FPC_DOTTEDUNITS}
uses
os2def,doscalls,pmwin,pmgpi;
{$ENDIF FPC_DOTTEDUNITS}
const
FDS_CENTER = $00000001;
FDS_CUSTOM = $00000002;
FDS_FILTERUNION = $00000004;
FDS_HELPBUTTON = $00000008;
FDS_APPLYBUTTON = $00000010;
FDS_PRELOAD_VOLINFO = $00000020;
FDS_MODELESS = $00000040;
FDS_INCLUDE_EAS = $00000080;
FDS_OPEN_DIALOG = $00000100;
FDS_SAVEAS_DIALOG = $00000200;
FDS_MULTIPLESEL = $00000400;
FDS_ENABLEFILELB = $00000800;
FDS_EFSELECTION = 0;
FDS_LBSELECTION = 1;
FDS_SUCCESSFUL = 0;
FDS_ERR_DEALLOCATE_MEMORY = 1;
FDS_ERR_FILTER_TRUNC = 2;
FDS_ERR_INVALID_DIALOG = 3;
FDS_ERR_INVALID_DRIVE = 4;
FDS_ERR_INVALID_FILTER = 5;
FDS_ERR_INVALID_PATHFILE = 6;
FDS_ERR_OUT_OF_MEMORY = 7;
FDS_ERR_PATH_TOO_LONG = 8;
FDS_ERR_TOO_MANY_FILE_TYPES = 9;
FDS_ERR_INVALID_VERSION = 10;
FDS_ERR_INVALID_CUSTOM_HANDLE = 11;
FDS_ERR_DIALOG_LOAD_ERROR = 12;
FDS_ERR_DRIVE_ERROR = 13;
FDM_FILTER = WM_USER+40;
FDM_VALIDATE = WM_USER+41;
FDM_ERROR = WM_USER+42;
type
APSZ = array [0..0] of PAnsiChar;
PAPSZ = ^APSZ;
FileDlg = record
cbSize : cardinal;
fl : cardinal;
ulUser : cardinal;
lReturn : longint;
lSRC : longint;
pszTitle : PAnsiChar;
pszOKButton : PAnsiChar;
pfnDlgProc : Pointer;
pszIType : PAnsiChar;
papszITypeList : PAPSZ;
pszIDrive : PAnsiChar;
papszIDriveList : PAPSZ;
hMod : cardinal;
szFullFile : array [0..MaxPathLength-1] of AnsiChar;
papszFQFilename : PAPSZ;
ulFQFCount : cardinal;
usDlgId : word;
x : integer;
y : integer;
sEAType : integer;
end;
PFileDlg = ^FileDlg;
function WinFileDlg (hwndP: HWnd; hwndO: HWnd; pfild: PFileDlg) : HWnd; cdecl;
function WinDefFileDlgProc (hwnd : HWnd;msg : cardinal;mp1 : MPARAM;mp2 : MPARAM) : MRESULT; cdecl;
function WinFreeFileDlgList(papszFQFilename : PAPSZ) : Longbool; cdecl;
const
DID_FILE_DIALOG = 256;
DID_FILENAME_TXT = 257;
DID_FILENAME_ED = 258;
DID_DRIVE_TXT = 259;
DID_DRIVE_CB = 260;
DID_FILTER_TXT = 261;
DID_FILTER_CB = 262;
DID_DIRECTORY_TXT = 263;
DID_DIRECTORY_LB = 264;
DID_FILES_TXT = 265;
DID_FILES_LB = 266;
DID_HELP_PB = 267;
DID_APPLY_PB = 268;
DID_OK_PB = DID_OK;
DID_CANCEL_PB = DID_CANCEL;
IDS_FILE_ALL_FILES_SELECTOR = 1000;
IDS_FILE_BACK_CUR_PATH = 1001;
IDS_FILE_BACK_PREV_PATH = 1002;
IDS_FILE_BACK_SLASH = 1003;
IDS_FILE_BASE_FILTER = 1004;
IDS_FILE_BLANK = 1005;
IDS_FILE_COLON = 1006;
IDS_FILE_DOT = 1007;
IDS_FILE_DRIVE_LETTERS = 1008;
IDS_FILE_FWD_CUR_PATH = 1009;
IDS_FILE_FWD_PREV_PATH = 1010;
IDS_FILE_FORWARD_SLASH = 1011;
IDS_FILE_PARENT_DIR = 1012;
IDS_FILE_Q_MARK = 1013;
IDS_FILE_SPLAT = 1014;
IDS_FILE_SPLAT_DOT = 1015;
IDS_FILE_SAVEAS_TITLE = 1016;
IDS_FILE_SAVEAS_FILTER_TXT = 1017;
IDS_FILE_SAVEAS_FILENM_TXT = 1018;
IDS_FILE_DUMMY_FILE_NAME = 1019;
IDS_FILE_DUMMY_FILE_EXT = 1020;
IDS_FILE_DUMMY_DRIVE = 1021;
IDS_FILE_DUMMY_ROOT_DIR = 1022;
IDS_FILE_PATH_PTR = 1023;
IDS_FILE_VOLUME_PREFIX = 1024;
IDS_FILE_VOLUME_SUFFIX = 1025;
IDS_FILE_PATH_PTR2 = 1026;
IDS_FILE_INVALID_CHARS = 1027;
IDS_FILE_BAD_DRIVE_NAME = 1100;
IDS_FILE_BAD_DRIVE_OR_PATH_NAME = 1101;
IDS_FILE_BAD_FILE_NAME = 1102;
IDS_FILE_BAD_FQF = 1103;
IDS_FILE_BAD_NETWORK_NAME = 1104;
IDS_FILE_BAD_SUB_DIR_NAME = 1105;
IDS_FILE_DRIVE_NOT_AVAILABLE = 1106;
IDS_FILE_FQFNAME_TOO_LONG = 1107;
IDS_FILE_OPEN_DIALOG_NOTE = 1108;
IDS_FILE_PATH_TOO_LONG = 1109;
IDS_FILE_SAVEAS_DIALOG_NOTE = 1110;
IDS_FILE_DRIVE_DISK_CHANGE = 1120;
IDS_FILE_DRIVE_NOT_READY = 1122;
IDS_FILE_DRIVE_LOCKED = 1123;
IDS_FILE_DRIVE_NO_SECTOR = 1124;
IDS_FILE_DRIVE_SOME_ERROR = 1125;
IDS_FILE_DRIVE_INVALID = 1126;
IDS_FILE_INSERT_DISK_NOTE = 1127;
IDS_FILE_OK_WHEN_READY = 1128;
type
FontDlg = record
cbSize : cardinal;
hpsScreen : HPS;
hpsPrinter : HPS;
pszTitle : PAnsiChar;
pszPreview : PAnsiChar;
pszPtSizeList : PAnsiChar;
pfnDlgProc : Pointer;
pszFamilyname : PAnsiChar;
fxPointSize : longint;
fl : cardinal;
flFlags : cardinal;
flType : cardinal;
flTypeMask : cardinal;
flStyle : cardinal;
flStyleMask : cardinal;
clrFore : longint;
clrBack : longint;
ulUser : cardinal;
lReturn : longint;
lSRC : longint;
lEmHeight : longint;
lXHeight : longint;
lExternalLeading : longint;
hMod : cardinal;
_fAttrs : FATTRS;
sNominalPointSize : integer;
usWeight : word;
usWidth : word;
x : integer;
y : integer;
usDlgId : word;
usFamilyBufLen : word;
usReserved : word;
end;
PFontDlg = ^FontDlg;
const
FNTS_CENTER = $00000001;
FNTS_CUSTOM = $00000002;
FNTS_OWNERDRAWPREVIEW = $00000004;
FNTS_HELPBUTTON = $00000008;
FNTS_APPLYBUTTON = $00000010;
FNTS_RESETBUTTON = $00000020;
FNTS_MODELESS = $00000040;
FNTS_INITFROMFATTRS = $00000080;
FNTS_BITMAPONLY = $00000100;
FNTS_VECTORONLY = $00000200;
FNTS_FIXEDWIDTHONLY = $00000400;
FNTS_PROPORTIONALONLY = $00000800;
FNTS_NOSYNTHESIZEDFONTS = $00001000;
FNTF_NOVIEWSCREENFONTS = 1;
FNTF_NOVIEWPRINTERFONTS = 2;
FNTF_SCREENFONTSELECTED = 4;
FNTF_PRINTERFONTSELECTED = 8;
CLRC_FOREGROUND = 1;
CLRC_BACKGROUND = 2;
FNTI_BITMAPFONT = $0001;
FNTI_VECTORFONT = $0002;
FNTI_FIXEDWIDTHFONT = $0004;
FNTI_PROPORTIONALFONT = $0008;
FNTI_SYNTHESIZED = $0010;
FNTI_DEFAULTLIST = $0020;
FNTI_FAMILYNAME = $0100;
FNTI_STYLENAME = $0200;
FNTI_POINTSIZE = $0400;
FNTS_SUCCESSFUL = 0;
FNTS_ERR_INVALID_DIALOG = 3;
FNTS_ERR_ALLOC_SHARED_MEM = 4;
FNTS_ERR_INVALID_PARM = 5;
FNTS_ERR_OUT_OF_MEMORY = 7;
FNTS_ERR_INVALID_VERSION = 10;
FNTS_ERR_DIALOG_LOAD_ERROR = 12;
FNTM_FACENAMECHANGED = WM_USER+50;
FNTM_POINTSIZECHANGED = WM_USER+51;
FNTM_STYLECHANGED = WM_USER+52;
FNTM_COLORCHANGED = WM_USER+53;
FNTM_UPDATEPREVIEW = WM_USER+54;
FNTM_FILTERLIST = WM_USER+55;
type
StyleChange = record
usWeight : word;
usWeightOld : word;
usWidth : word;
usWidthOld : word;
flType : cardinal;
flTypeOld : cardinal;
flTypeMask : cardinal;
flTypeMaskOld : cardinal;
flStyle : cardinal;
flStyleOld : cardinal;
flStyleMask : cardinal;
flStyleMaskOld : cardinal;
end;
PStyleChange = ^StyleChange;
function WinFontDlg(hwndP : HWnd;hwndO : HWnd;pfntd : PFontDlg) : HWnd; cdecl;
function WinDefFontDlgProc(_hwnd : HWnd;msg : cardinal;mp1 : MParam;mp2 : MParam) : MResult; cdecl;
const
DID_FONT_DIALOG = 300;
DID_NAME = 301;
DID_STYLE = 302;
DID_DISPLAY_FILTER = 303;
DID_PRINTER_FILTER = 304;
DID_SIZE = 305;
DID_SAMPLE = 306;
DID_OUTLINE = 307;
DID_UNDERSCORE = 308;
DID_STRIKEOUT = 309;
DID_HELP_BUTTON = 310;
DID_APPLY_BUTTON = 311;
DID_RESET_BUTTON = 312;
DID_OK_BUTTON = DID_OK;
DID_CANCEL_BUTTON = DID_CANCEL;
DID_NAME_PREFIX = 313;
DID_STYLE_PREFIX = 314;
DID_SIZE_PREFIX = 315;
DID_SAMPLE_GROUPBOX = 316;
DID_EMPHASIS_GROUPBOX = 317;
IDS_FONT_SAMPLE = 350;
IDS_FONT_BLANK = 351;
IDS_FONT_KEY_0 = 352;
IDS_FONT_KEY_9 = 353;
IDS_FONT_KEY_SEP = 354;
IDS_FONT_DISP_ONLY = 355;
IDS_FONT_PRINTER_ONLY = 356;
IDS_FONT_COMBINED = 357;
IDS_FONT_WEIGHT1 = 358;
IDS_FONT_WEIGHT2 = 359;
IDS_FONT_WEIGHT3 = 360;
IDS_FONT_WEIGHT4 = 361;
IDS_FONT_WEIGHT5 = 362;
IDS_FONT_WEIGHT6 = 363;
IDS_FONT_WEIGHT7 = 364;
IDS_FONT_WEIGHT8 = 365;
IDS_FONT_WEIGHT9 = 366;
IDS_FONT_WIDTH1 = 367;
IDS_FONT_WIDTH2 = 368;
IDS_FONT_WIDTH3 = 369;
IDS_FONT_WIDTH4 = 370;
IDS_FONT_WIDTH5 = 371;
IDS_FONT_WIDTH6 = 372;
IDS_FONT_WIDTH7 = 373;
IDS_FONT_WIDTH8 = 374;
IDS_FONT_WIDTH9 = 375;
IDS_FONT_OPTION0 = 376;
IDS_FONT_OPTION1 = 377;
IDS_FONT_OPTION2 = 378;
IDS_FONT_OPTION3 = 379;
IDS_FONT_POINT_SIZE_LIST = 380;
SPBS_ALLCHARACTERS = $00000000;
SPBS_NUMERICONLY = $00000001;
SPBS_READONLY = $00000002;
SPBS_MASTER = $00000010;
SPBS_SERVANT = $00000000;
SPBS_JUSTDEFAULT = $00000000;
SPBS_JUSTLEFT = $00000008;
SPBS_JUSTRIGHT = $00000004;
SPBS_JUSTCENTER = $0000000C;
SPBS_NOBORDER = $00000020;
SPBS_FASTSPIN = $00000100;
SPBS_PADWITHZEROS = $00000080;
SPBN_UPARROW = $20A;
SPBN_DOWNARROW = $20B;
SPBN_ENDSPIN = $20C;
SPBN_CHANGE = $20D;
SPBN_SETFOCUS = $20E;
SPBN_KILLFOCUS = $20F;
SPBM_OVERRIDESETLIMITS = $200;
SPBM_QUERYLIMITS = $201;
SPBM_SETTEXTLIMIT = $202;
SPBM_SPINUP = $203;
SPBM_SPINDOWN = $204;
SPBM_QUERYVALUE = $205;
SPBQ_UPDATEIFVALID = 0;
SPBQ_ALWAYSUPDATE = 1;
SPBQ_DONOTUPDATE = 3;
SPBM_SETARRAY = $206;
SPBM_SETLIMITS = $207;
SPBM_SETCURRENTVALUE = $208;
SPBM_SETMASTER = $209;
PMERR_NOT_DRAGGING = $1f00;
PMERR_ALREADY_DRAGGING = $1f01;
MSGF_DRAG = $0010;
WM_DRAGFIRST = $0310;
WM_DRAGLAST = $032f;
DM_DROP = $032f;
DM_DRAGOVER = $032e;
DM_DRAGLEAVE = $032d;
DM_DROPHELP = $032c;
DM_ENDCONVERSATION = $032b;
DM_PRINT = $032a;
DM_RENDER = $0329;
DM_RENDERCOMPLETE = $0328;
DM_RENDERPREPARE = $0327;
DM_DRAGFILECOMPLETE = $0326;
DM_EMPHASIZETARGET = $0325;
DM_DRAGERROR = $0324;
DM_FILERENDERED = $0323;
DM_RENDERFILE = $0322;
DM_DRAGOVERNOTIFY = $0321;
DM_PRINTOBJECT = $0320;
DM_DISCARDOBJECT = $031f;
DRT_ASM = 'Assembler Code';
DRT_BASIC = 'BASIC Code';
DRT_BINDATA = 'Binary Data';
DRT_BITMAP = 'Bitmap';
DRT_C = 'C Code';
DRT_COBOL = 'COBOL Code';
DRT_DLL = 'Dynamic Link Library';
DRT_DOSCMD = 'DOS Command File';
DRT_EXE = 'Executable';
DRT_FORTRAN = 'FORTRAN Code';
DRT_ICON = 'Icon';
DRT_LIB = 'Library';
DRT_METAFILE = 'Metafile';
DRT_OS2CMD = 'OS/2 Command File';
DRT_PASCAL = 'Pascal Code';
DRT_RESOURCE = 'Resource File';
DRT_TEXT = 'Plain Text';
DRT_UNKNOWN = 'Unknown';
DOR_NODROP = $0000;
DOR_DROP = $0001;
DOR_NODROPOP = $0002;
DOR_NEVERDROP = $0003;
DO_COPYABLE = $0001;
DO_MOVEABLE = $0002;
DO_LINKABLE = $0004;
DC_OPEN = $0001;
DC_REF = $0002;
DC_GROUP = $0004;
DC_CONTAINER = $0008;
DC_PREPARE = $0010;
DC_REMOVEABLEMEDIA = $0020;
DO_DEFAULT = $BFFE;
DO_UNKNOWN = $BFFF;
DO_COPY = $0010;
DO_MOVE = $0020;
DO_LINK = $0018;
DO_CREATE = $0040;
DMFL_TARGETSUCCESSFUL = $0001;
DMFL_TARGETFAIL = $0002;
DMFL_NATIVERENDER = $0004;
DMFL_RENDERRETRY = $0008;
DMFL_RENDEROK = $0010;
DMFL_RENDERFAIL = $0020;
DRG_ICON = $00000001;
DRG_BITMAP = $00000002;
DRG_POLYGON = $00000004;
DRG_STRETCH = $00000008;
DRG_TRANSPARENT = $00000010;
DRG_CLOSED = $00000020;
DME_IGNOREABORT = 1;
DME_IGNORECONTINUE = 2;
DME_REPLACE = 3;
DME_RETRY = 4;
DF_MOVE = $0001;
DF_SOURCE = $0002;
DF_SUCCESSFUL = $0004;
DRR_SOURCE = 1;
DRR_TARGET = 2;
DRR_ABORT = 3;
DFF_MOVE = 1;
DFF_COPY = 2;
DFF_DELETE = 3;
type
HStr = cardinal;
DragItem = record
hwndItem : HWnd;
ulItemID : cardinal;
hstrType : HStr;
hstrRMF : HStr;
hstrContainerName : HStr;
hstrSourceName : HStr;
hstrTargetName : HStr;
cxOffset : integer;
cyOffset : integer;
fsControl : word;
fsSupportedOps : word;
end;
PDragItem = ^DragItem;
DragInfo = record
cbDraginfo : cardinal;
cbDragitem : word;
usOperation : word;
hwndSource : HWnd;
xDrop : integer;
yDrop : integer;
cditem : word;
usReserved : word;
end;
PDragInfo = ^DragInfo;
DragImage = record
cb : word;
cptl : word;
hImage : cardinal;
sizlStretch : SizeL;
fl : cardinal;
cxOffset : integer;
cyOffset : integer;
end;
PDragImage = ^DragImage;
DragTransfer = record
cb : cardinal;
hwndClient : HWnd;
pditem : PDragItem;
hstrSelectedRMF : HStr;
hstrRenderToName : HStr;
ulTargetInfo : cardinal;
usOperation : word;
fsReply : word;
end;
PDragTransfer = ^DragTransfer;
RenderFile = record
hwndDragFiles : HWnd;
hstrSource : HStr;
hstrTarget : HStr;
fMove : word;
usRsvd : word;
end;
PRenderFile = ^RenderFile;
function DrgAcceptDroppedFiles(hwnd : HWnd;pszPath : PAnsiChar;pszTypes : PAnsiChar;ulDefaultOp : cardinal;ulRsvd : cardinal) : Longbool; cdecl;
function DrgAllocDraginfo(cditem : cardinal) : PDragInfo; cdecl;
function DrgAllocDragtransfer(cdxfer : cardinal) : PDragTransfer; cdecl;
function DrgDrag(hwndSource : HWnd;pdinfo : PDragInfo;pdimg : PDragImage;cdimg : cardinal;vkTerminate : longint; var pRsvd) : HWnd; cdecl;
type
PPSZ = ^PAnsiChar;
function DrgDragFiles(hwnd : HWnd;apszFiles : PPSZ;apszTypes : PPSZ;apszTargets : PPSZ;cFiles : cardinal;hptrDrag : cardinal;vkTerm : cardinal;fSourceRender : Longbool;ulRsvd : cardinal) : Longbool; cdecl;
function DrgPostTransferMsg(hwnd : HWnd;msg : cardinal;pdxfer : PDragTransfer;fl : cardinal;ulRsvd : cardinal;fRetry : Longbool) : Longbool; cdecl;
function DrgQueryDragitem(pdinfo : PDragInfo;cbBuffer : cardinal;pditem : PDragItem;iItem : cardinal) : Longbool; cdecl;
function DrgQueryDragitemCount(pdinfo : PDragInfo) : cardinal; cdecl;
function DrgQueryDragitemPtr(pdinfo : PDragInfo;i : cardinal) : PDragItem; cdecl;
function DrgQueryNativeRMF(pditem : PDragItem;cbBuffer : cardinal;pBuffer : PAnsiChar) : Longbool; cdecl;
function DrgQueryNativeRMFLen(pditem : PDragItem) : cardinal; cdecl;
function DrgQueryStrName(hstr : HStr;cbBuffer : cardinal;pBuffer : PAnsiChar) : cardinal; cdecl;
function DrgQueryStrNameLen(hstr : HStr) : cardinal; cdecl;
function DrgQueryTrueType(pditem : PDragItem;cbBuffer : cardinal;pBuffer : PAnsiChar) : Longbool; cdecl;
function DrgQueryTrueTypeLen(pditem : PDragItem) : cardinal; cdecl;
function DrgSendTransferMsg(hwnd : HWnd;msg : cardinal;mp1 : MParam;mp2 : MParam) : MResult; cdecl;
function DrgSetDragitem(pdinfo : PDragInfo;pditem : PDragItem;cbBuffer : cardinal;iItem : cardinal) : Longbool; cdecl;
function DrgSetDragImage(pdinfo : PDragInfo;pdimg : PDragImage;cdimg : cardinal; var pRsvd) : Longbool; cdecl;
function DrgVerifyTypeSet(pditem : PDragItem;pszType : PAnsiChar;cbMatch : cardinal;pszMatch : PAnsiChar) : Longbool; cdecl;
function DrgAccessDraginfo(pdinfo : PDragInfo) : Longbool; cdecl;
function DrgAddStrHandle(psz : PAnsiChar) : HStr; cdecl;
function DrgDeleteDraginfoStrHandles(pdinfo : PDragInfo) : Longbool; cdecl;
function DrgDeleteStrHandle(hstr : HStr) : Longbool; cdecl;
function DrgFreeDraginfo(pdinfo : PDragInfo) : Longbool; cdecl;
function DrgFreeDragtransfer(pdxfer : PDragTransfer) : Longbool; cdecl;
function DrgGetPS(hwnd : HWnd) : HPS; cdecl;
function DrgPushDraginfo(pdinfo : PDragInfo;hwndDest : HWnd) : Longbool; cdecl;
function DrgReleasePS(hps : HPS) : Longbool; cdecl;
function DrgSetDragPointer(pdinfo : PDragInfo;hptr : cardinal) : Longbool; cdecl;
function DrgVerifyNativeRMF(pditem : PDragItem;pszRMF : PAnsiChar) : Longbool; cdecl;
function DrgVerifyRMF(pditem : PDragItem;pszMech : PAnsiChar;pszFmt : PAnsiChar) : Longbool; cdecl;
function DrgVerifyTrueType(pditem : PDragItem;pszType : PAnsiChar) : Longbool; cdecl;
function DrgVerifyType(pditem : PDragItem;pszType : PAnsiChar) : Longbool; cdecl;
const
PMERR_NOFILTERED_ITEMS = $1f02;
PMERR_COMPARISON_FAILED = $1f03;
PMERR_RECORD_CURRENTLY_INSERTED = $1f04;
PMERR_FI_CURRENTLY_INSERTED = $1f05;
CCS_EXTENDSEL = $00000001;
CCS_MULTIPLESEL = $00000002;
CCS_SINGLESEL = $00000004;
CCS_AUTOPOSITION = $00000008;
CCS_VERIFYPOINTERS = $00000010;
CCS_READONLY = $00000020;
CCS_MINIRECORDCORE = $00000040;
CV_TEXT = $00000001;
CV_NAME = $00000002;
CV_ICON = $00000004;
CV_DETAIL = $00000008;
CV_FLOW = $00000010;
CV_MINI = $00000020;
CV_TREE = $00000040;
CA_CONTAINERTITLE = $00000200;
CA_TITLESEPARATOR = $00000400;
CA_TITLELEFT = $00000800;
CA_TITLERIGHT = $00001000;
CA_TITLECENTER = $00002000;
CA_OWNERDRAW = $00004000;
CA_DETAILSVIEWTITLES = $00008000;
CA_ORDEREDTARGETEMPH = $00010000;
CA_DRAWBITMAP = $00020000;
CA_DRAWICON = $00040000;
CA_TITLEREADONLY = $00080000;
CA_OWNERPAINTBACKGROUND = $00100000;
CA_MIXEDTARGETEMPH = $00200000;
CA_TREELINE = $00400000;
CID_LEFTCOLTITLEWND = $7FF0;
CID_RIGHTCOLTITLEWND = $7FF1;
CID_BLANKBOX = $7FF2;
CID_HSCROLL = $7FF3;
CID_RIGHTHSCROLL = $7FF4;
CID_CNRTITLEWND = $7FF5;
CID_LEFTDVWND = $7FF7;
CID_RIGHTDVWND = $7FF8;
CID_VSCROLL = $7FF9;
CID_MLE = $7FFA;
type
TreeItemDesc = record
hbmExpanded : HBitmap;
hbmCollapsed : HBitmap;
hptrExpanded : cardinal;
hptrCollapsed : cardinal;
end;
PTreeItemDesc = ^TreeItemDesc;
PFieldInfo = ^FieldInfo;
FieldInfo = record
cb : cardinal;
flData : cardinal;
flTitle : cardinal;
pTitleData : Pointer;
offStruct : cardinal;
pUserData : Pointer;
pNextFieldInfo : PFieldInfo;
cxWidth : cardinal;
end;
PRecordCore = ^RecordCore;
RecordCore = record
cb : cardinal;
flRecordAttr : cardinal;
ptlIcon : PointL;
preccNextRecord : PRecordCore;
pszIcon : PAnsiChar;
hptrIcon : cardinal;
hptrMiniIcon : cardinal;
hbmBitmap : HBitmap;
hbmMiniBitmap : HBitmap;
pTreeItemDesc : PTreeItemDesc;
pszText : PAnsiChar;
pszName : PAnsiChar;
pszTree : PAnsiChar;
end;
PMiniRecordCore = ^MiniRecordCore;
MINIRECORDCORE = record
cb : cardinal;
flRecordAttr : cardinal;
ptlIcon : PointL;
preccNextRecord : PMiniRecordCore;
pszIcon : PAnsiChar;
hptrIcon : cardinal;
end;
CNRInfo = record
cb : cardinal;
pSortRecord : Pointer;
pFieldInfoLast : PFieldInfo;
pFieldInfoObject : PFieldInfo;
pszCnrTitle : PAnsiChar;
flWindowAttr : cardinal;
ptlOrigin : PointL;
cDelta : cardinal;
cRecords : cardinal;
slBitmapOrIcon : SizeL;
slTreeBitmapOrIcon : SizeL;
hbmExpanded : HBitmap;
hbmCollapsed : HBitmap;
hptrExpanded : cardinal;
hptrCollapsed : cardinal;
cyLineSpacing : longint;
cxTreeIndent : longint;
cxTreeLine : longint;
cFields : cardinal;
xVertSplitbar : longint;
end;
PCNRInfo = ^CNRInfo;
CDate = record
day : Byte;
month : Byte;
year : word;
end;
PCDate = ^CDate;
CTime = record
hours : Byte;
minutes : Byte;
seconds : Byte;
ucReserved : Byte;
end;
PCTime = ^CTime;
const
CFA_LEFT = $00000001;
CFA_RIGHT = $00000002;
CFA_CENTER = $00000004;
CFA_TOP = $00000008;
CFA_VCENTER = $00000010;
CFA_BOTTOM = $00000020;
CFA_INVISIBLE = $00000040;
CFA_BITMAPORICON = $00000100;
CFA_SEPARATOR = $00000200;
CFA_HORZSEPARATOR = $00000400;
CFA_STRING = $00000800;
CFA_OWNER = $00001000;
CFA_DATE = $00002000;
CFA_TIME = $00004000;
CFA_FIREADONLY = $00008000;
CFA_FITITLEREADONLY = $00010000;
CFA_ULONG = $00020000;
CRA_SELECTED = $00000001;
CRA_TARGET = $00000002;
CRA_CURSORED = $00000004;
CRA_INUSE = $00000008;
CRA_FILTERED = $00000010;
CRA_DROPONABLE = $00000020;
CRA_RECORDREADONLY = $00000040;
CRA_EXPANDED = $00000080;
CRA_COLLAPSED = $00000100;
CM_ALLOCDETAILFIELDINFO = $0330;
CM_ALLOCRECORD = $0331;
CM_ARRANGE = $0332;
CM_ERASERECORD = $0333;
CM_FILTER = $0334;
CM_FREEDETAILFIELDINFO = $0335;
CM_FREERECORD = $0336;
CM_HORZSCROLLSPLITWINDOW = $0337;
CM_INSERTDETAILFIELDINFO = $0338;
CM_INSERTRECORD = $0339;
CM_INVALIDATEDETAILFIELDINFO = $033a;
CM_INVALIDATERECORD = $033b;
CM_PAINTBACKGROUND = $033c;
CM_QUERYCNRINFO = $033d;
CM_QUERYDETAILFIELDINFO = $033e;
CM_QUERYDRAGIMAGE = $033f;
CM_QUERYRECORD = $0340;
CM_QUERYRECORDEMPHASIS = $0341;
CM_QUERYRECORDFROMRECT = $0342;
CM_QUERYRECORDRECT = $0343;
CM_QUERYVIEWPORTRECT = $0344;
CM_REMOVEDETAILFIELDINFO = $0345;
CM_REMOVERECORD = $0346;
CM_SCROLLWINDOW = $0347;
CM_SEARCHSTRING = $0348;
CM_SETCNRINFO = $0349;
CM_SETRECORDEMPHASIS = $034a;
CM_SORTRECORD = $034b;
CM_OPENEDIT = $034c;
CM_CLOSEEDIT = $034d;
CM_COLLAPSETREE = $034e;
CM_EXPANDTREE = $034f;
CM_QUERYRECORDINFO = $0350;
CN_DRAGAFTER = 101;
CN_DRAGLEAVE = 102;
CN_DRAGOVER = 103;
CN_DROP = 104;
CN_DROPHELP = 105;
CN_ENTER = 106;
CN_INITDRAG = 107;
CN_EMPHASIS = 108;
CN_KILLFOCUS = 109;
CN_SCROLL = 110;
CN_QUERYDELTA = 111;
CN_SETFOCUS = 112;
CN_REALLOCPSZ = 113;
CN_BEGINEDIT = 114;
CN_ENDEDIT = 115;
CN_COLLAPSETREE = 116;
CN_EXPANDTREE = 117;
CN_HELP = 118;
CN_CONTEXTMENU = 119;
type
CNRDragInit = record
hwndCnr : HWnd;
pRecord : PRecordCore;
x : longint;
y : longint;
cx : longint;
cy : longint;
end;
PCNRDragInit = ^CNRDragInit;
FieldInfoInsert = record
cb : cardinal;
pFieldInfoOrder : PFieldInfo;
fInvalidateFieldInfo : cardinal;
cFieldInfoInsert : cardinal;
end;
PFieldInfoInsert = ^FieldInfoInsert;
RecordInsert = record
cb : cardinal;
pRecordOrder : PRecordCore;
pRecordParent : PRecordCore;
fInvalidateRecord : cardinal;
zOrder : cardinal;
cRecordsInsert : cardinal;
end;
PRecordInsert = ^RecordInsert;
QueryRecFromRect = record
cb : cardinal;
rect : RectL;
fsSearch : cardinal;
end;
PQueryRecFromRect = ^QueryRecFromRect;
QueryRecordRect = record
cb : cardinal;
pRecord : PRecordCore;
fRightSplitWindow : cardinal;
fsExtent : cardinal;
end;
PQueryRecordRect = ^QueryRecordRect;
SearchString = record
cb : cardinal;
pszSearch : PAnsiChar;
fsPrefix : cardinal;
fsCaseSensitive : cardinal;
usView : cardinal;
end;
PSearchString = ^SearchString;
CNRDragInfo = record
pDragInfo : PDragInfo;
pRecord : PRecordCore;
end;
PCNRDragInfo = ^CNRDragInfo;
NotifyRecordEmphasis = record
hwndCnr : HWnd;
pRecord : PRecordCore;
fEmphasisMask : cardinal;
end;
PNotifyRecordEmphasis = ^NotifyRecordEmphasis;
NotifyRecordEnter = record
hwndCnr : HWnd;
fKey : cardinal;
pRecord : PRecordCore;
end;
PNotifyRecordEnter = ^NotifyRecordEnter;
NotifyDelta = record
hwndCnr : HWnd;
fDelta : cardinal;
end;
PNotifyDelta = ^NotifyDelta;
NotifyScroll = record
hwndCnr : HWnd;
lScrollInc : longint;
fScroll : cardinal;
end;
PNotifyScroll = ^NotifyScroll;
CNREditData = record
cb : cardinal;
hwndCnr : HWnd;
pRecord : PRecordCore;
pFieldInfo : PFieldInfo;
ppszText : PPSZ;
cbText : cardinal;
id : cardinal;
end;
PCNREditData = ^CNREditData;
OwnerBackground = record
hwnd : HWnd;
hps : HPS;
rclBackground : RectL;
idWindow : longint;
end;
POwnerBackground = ^OwnerBackground;
CNRDrawItemInfo = record
pRecord : PRecordCore;
pFieldInfo : PFieldInfo;
end;
PCNRDrawItemInfo = ^CNRDrawItemInfo;
const
CMA_TOP = $0001;
CMA_BOTTOM = $0002;
CMA_LEFT = $0004;
CMA_RIGHT = $0008;
CMA_FIRST = $0010;
CMA_LAST = $0020;
CMA_END = $0040;
CMA_PREV = $0080;
CMA_NEXT = $0100;
CMA_HORIZONTAL = $0200;
CMA_VERTICAL = $0400;
CMA_ICON = $0800;
CMA_TEXT = $1000;
CMA_PARTIAL = $2000;
CMA_COMPLETE = $4000;
CMA_PARENT = $0001;
CMA_FIRSTCHILD = $0002;
CMA_LASTCHILD = $0004;
CMA_CNRTITLE = $0001;
CMA_DELTA = $0002;
CMA_FLWINDOWATTR = $0004;
CMA_LINESPACING = $0008;
CMA_PFIELDINFOLAST = $0010;
CMA_PSORTRECORD = $0020;
CMA_PTLORIGIN = $0040;
CMA_SLBITMAPORICON = $0080;
CMA_XVERTSPLITBAR = $0100;
CMA_PFIELDINFOOBJECT = $0200;
CMA_TREEICON = $0400;
CMA_TREEBITMAP = $0800;
CMA_CXTREEINDENT = $1000;
CMA_CXTREELINE = $2000;
CMA_SLTREEBITMAPORICON = $4000;
CMA_ITEMORDER = $0001;
CMA_WINDOW = $0002;
CMA_WORKSPACE = $0004;
CMA_ZORDER = $0008;
CMA_DELTATOP = $0001;
CMA_DELTABOT = $0002;
CMA_DELTAHOME = $0004;
CMA_DELTAEND = $0008;
CMA_NOREPOSITION = $0001;
CMA_REPOSITION = $0002;
CMA_TEXTCHANGED = $0004;
CMA_ERASE = $0008;
CMA_FREE = $0001;
CMA_INVALIDATE = $0002;
SLM_ADDDETENT = $0369;
SLM_QUERYDETENTPOS = $036a;
SLM_QUERYSCALETEXT = $036b;
SLM_QUERYSLIDERINFO = $036c;
SLM_QUERYTICKPOS = $036d;
SLM_QUERYTICKSIZE = $036e;
SLM_REMOVEDETENT = $036f;
SLM_SETSCALETEXT = $0370;
SLM_SETSLIDERINFO = $0371;
SLM_SETTICKSIZE = $0372;
SLN_CHANGE = 1;
SLN_SLIDERTRACK = 2;
SLN_SETFOCUS = 3;
SLN_KILLFOCUS = 4;
type
SLDCData = record
cbSize : cardinal;
usScale1Increments : word;
usScale1Spacing : word;
usScale2Increments : word;
usScale2Spacing : word;
end;
PSLDCData = ^SLDCData;
const
SLS_HORIZONTAL = $00000000;
SLS_VERTICAL = $00000001;
SLS_CENTER = $00000000;
SLS_BOTTOM = $00000002;
SLS_TOP = $00000004;
SLS_LEFT = $00000002;
SLS_RIGHT = $00000004;
SLS_SNAPTOINCREMENT = $00000008;
SLS_BUTTONSBOTTOM = $00000010;
SLS_BUTTONSTOP = $00000020;
SLS_BUTTONSLEFT = $00000010;
SLS_BUTTONSRIGHT = $00000020;
SLS_OWNERDRAW = $00000040;
SLS_READONLY = $00000080;
SLS_RIBBONSTRIP = $00000100;
SLS_HOMEBOTTOM = $00000000;
SLS_HOMETOP = $00000200;
SLS_HOMELEFT = $00000000;
SLS_HOMERIGHT = $00000200;
SLS_PRIMARYSCALE1 = $00000000;
SLS_PRIMARYSCALE2 = $00000400;
SMA_SCALE1 = $0001;
SMA_SCALE2 = $0002;
SMA_SHAFTDIMENSIONS = $0000;
SMA_SHAFTPOSITION = $0001;
SMA_SLIDERARMDIMENSIONS = $0002;
SMA_SLIDERARMPOSITION = $0003;
SMA_RANGEVALUE = $0000;
SMA_INCREMENTVALUE = $0001;
SMA_SETALLTICKS = $FFFF;
SDA_RIBBONSTRIP = $0001;
SDA_SLIDERSHAFT = $0002;
SDA_BACKGROUND = $0003;
SDA_SLIDERARM = $0004;
PMERR_UPDATE_IN_PROGRESS = $1f06;
SLDERR_INVALID_PARAMETERS = -1;
VM_QUERYITEM = $0375;
VM_QUERYITEMATTR = $0376;
VM_QUERYMETRICS = $0377;
VM_QUERYSELECTEDITEM = $0378;
VM_SELECTITEM = $0379;
VM_SETITEM = $037a;
VM_SETITEMATTR = $037b;
VM_SETMETRICS = $037c;
VN_SELECT = 120;
VN_ENTER = 121;
VN_DRAGLEAVE = 122;
VN_DRAGOVER = 123;
VN_DROP = 124;
VN_DROPHELP = 125;
VN_INITDRAG = 126;
VN_SETFOCUS = 127;
VN_KILLFOCUS = 128;
VN_HELP = 129;
type
VSCData = record
cbSize : cardinal;
usRowCount : word;
usColumnCount : word;
end;
PVSCData = ^VSCData;
VSDragInit = record
hwnd : HWnd;
x : longint;
y : longint;
cx : longint;
cy : longint;
usRow : word;
usColumn : word;
end;
PVSDragInit = ^VSDragInit;
VSDragInfo = record
pDragInfo : PDragInfo;
usRow : word;
usColumn : word;
end;
PVSDragInfo = ^VSDragInfo;
VSText = record
pszItemText : PAnsiChar;
ulBufLen : cardinal;
end;
PVSText = ^VSText;
const
VS_BITMAP = $0001;
VS_ICON = $0002;
VS_TEXT = $0004;
VS_RGB = $0008;
VS_COLORINDEX = $0010;
VS_BORDER = $0020;
VS_ITEMBORDER = $0040;
VS_SCALEBITMAPS = $0080;
VS_RIGHTTOLEFT = $0100;
VS_OWNERDRAW = $0200;
VIA_BITMAP = $0001;
VIA_ICON = $0002;
VIA_TEXT = $0004;
VIA_RGB = $0008;
VIA_COLORINDEX = $0010;
VIA_OWNERDRAW = $0020;
VIA_DISABLED = $0040;
VIA_DRAGGABLE = $0080;
VIA_DROPONABLE = $0100;
VMA_ITEMSIZE = $0001;
VMA_ITEMSPACING = $0002;
VDA_ITEM = $0001;
VDA_ITEMBACKGROUND = $0002;
VDA_SURROUNDING = $0003;
VDA_BACKGROUND = $0004;
VSERR_INVALID_PARAMETERS = -1;
BKM_CALCPAGERECT = $0353;
BKM_DELETEPAGE = $0354;
BKM_INSERTPAGE = $0355;
BKM_INVALIDATETABS = $0356;
BKM_TURNTOPAGE = $0357;
BKM_QUERYPAGECOUNT = $0358;
BKM_QUERYPAGEID = $0359;
BKM_QUERYPAGEDATA = $035a;
BKM_QUERYPAGEWINDOWHWND = $035b;
BKM_QUERYTABBITMAP = $035c;
BKM_QUERYTABTEXT = $035d;
BKM_SETDIMENSIONS = $035e;
BKM_SETPAGEDATA = $035f;
BKM_SETPAGEWINDOWHWND = $0360;
BKM_SETSTATUSLINETEXT = $0361;
BKM_SETTABBITMAP = $0362;
BKM_SETTABTEXT = $0363;
BKM_SETNOTEBOOKCOLORS = $0364;
BKM_QUERYPAGESTYLE = $0365;
BKM_QUERYSTATUSLINETEXT = $0366;
BKN_PAGESELECTED = 130;
BKN_NEWPAGESIZE = 131;
BKN_HELP = 132;
BKN_PAGEDELETED = 133;
BKA_ALL = $0001;
BKA_SINGLE = $0002;
BKA_TAB = $0004;
BKA_LAST = $0002;
BKA_FIRST = $0004;
BKA_NEXT = $0008;
BKA_PREV = $0010;
BKA_TOP = $0020;
BKA_MAJORTAB = $0001;
BKA_MINORTAB = $0002;
BKA_PAGEBUTTON = $0100;
BKA_STATUSTEXTON = $0001;
BKA_MAJOR = $0040;
BKA_MINOR = $0080;
BKA_AUTOPAGESIZE = $0100;
BKA_END = $0200;
BKA_TEXT = $0400;
BKA_BITMAP = $0800;
BKS_BACKPAGESBR = $00000001;
BKS_BACKPAGESBL = $00000002;
BKS_BACKPAGESTR = $00000004;
BKS_BACKPAGESTL = $00000008;
BKS_MAJORTABRIGHT = $00000010;
BKS_MAJORTABLEFT = $00000020;
BKS_MAJORTABTOP = $00000040;
BKS_MAJORTABBOTTOM = $00000080;
BKS_SQUARETABS = $00000000;
BKS_ROUNDEDTABS = $00000100;
BKS_POLYGONTABS = $00000200;
BKS_SOLIDBIND = $00000000;
BKS_SPIRALBIND = $00000400;
BKS_STATUSTEXTLEFT = $00000000;
BKS_STATUSTEXTRIGHT = $00001000;
BKS_STATUSTEXTCENTER = $00002000;
BKS_TABTEXTLEFT = $00000000;
BKS_TABTEXTRIGHT = $00004000;
BKS_TABTEXTCENTER = $00008000;
BKA_BACKGROUNDPAGECOLORINDEX = $0001;
BKA_BACKGROUNDPAGECOLOR = $0002;
BKA_BACKGROUNDMAJORCOLORINDEX = $0003;
BKA_BACKGROUNDMAJORCOLOR = $0004;
BKA_BACKGROUNDMINORCOLORINDEX = $0005;
BKA_BACKGROUNDMINORCOLOR = $0006;
BKA_FOREGROUNDMAJORCOLORINDEX = $0007;
BKA_FOREGROUNDMAJORCOLOR = $0008;
BKA_FOREGROUNDMINORCOLORINDEX = $0009;
BKA_FOREGROUNDMINORCOLOR = $000A;
BOOKERR_INVALID_PARAMETERS = -1;
type
BookText = record
pString : PAnsiChar;
textLen : cardinal;
end;
PBookText = ^BookText;
DeleteNotify = record
hwndBook : HWnd;
hwndPage : HWnd;
ulAppPageData : cardinal;
hbmTab : HBitmap;
end;
PDeleteNotify = ^DeleteNotify;
PageSelectNotify = record
hwndBook : HWnd;
ulPageIdCur : cardinal;
ulPageIdNew : cardinal;
end;
PPageSelectNotify = ^PageSelectNotify;
implementation
function WinFileDlg(hwndP : HWnd;hwndO : HWnd;pfild : PFileDlg) : HWnd; cdecl;
external 'PMCTLS' index 4;
function WinDefFileDlgProc(hwnd : HWnd;msg : cardinal;mp1 : MParam;mp2 : MParam) : MResult; cdecl;
external 'PMCTLS' index 5;
function WinFreeFileDlgList(papszFQFilename : PAPSZ) : Longbool; cdecl;
external 'PMCTLS' index 6;
function WinFontDlg(hwndP : HWnd;hwndO : HWnd;pfntd : PFontDlg) : HWnd; cdecl;
external 'PMCTLS' index 2;
function WinDefFontDlgProc(_hwnd : HWnd;msg : cardinal;mp1 : MParam;mp2 : MParam) : MResult; cdecl;
external 'PMCTLS' index 3;
function DrgAcceptDroppedFiles(hwnd : HWnd;pszPath : PAnsiChar;pszTypes : PAnsiChar;ulDefaultOp : cardinal;ulRsvd : cardinal) : Longbool; cdecl;
external 'PMDRAG' index 66;
function DrgAllocDraginfo(cditem : cardinal) : PDragInfo; cdecl;
external 'PMDRAG' index 34;
function DrgAllocDragtransfer(cdxfer : cardinal) : PDragTransfer; cdecl;
external 'PMDRAG' index 35;
function DrgDrag(hwndSource : HWnd;pdinfo : PDragInfo;pdimg : PDragImage;cdimg : cardinal;vkTerminate : longint; var pRsvd) : HWnd; cdecl;
external 'PMDRAG' index 38;
function DrgDragFiles(hwnd : HWnd;apszFiles : PPSZ;apszTypes : PPSZ;apszTargets : PPSZ;cFiles : cardinal;hptrDrag : cardinal;vkTerm : cardinal;fSourceRender : Longbool;ulRsvd : cardinal) : Longbool; cdecl;
external 'PMDRAG' index 65;
function DrgPostTransferMsg(hwnd : HWnd;msg : cardinal;pdxfer : PDragTransfer;fl : cardinal;ulRsvd : cardinal;fRetry : Longbool) : Longbool; cdecl;
external 'PMDRAG' index 42;
function DrgQueryDragitem(pdinfo : PDragInfo;cbBuffer : cardinal;pditem : PDragItem;iItem : cardinal) : Longbool; cdecl;
external 'PMDRAG' index 44;
function DrgQueryDragitemCount(pdinfo : PDragInfo) : cardinal; cdecl;
external 'PMDRAG' index 45;
function DrgQueryDragitemPtr(pdinfo : PDragInfo;i : cardinal) : PDragItem; cdecl;
external 'PMDRAG' index 46;
function DrgQueryNativeRMF(pditem : PDragItem;cbBuffer : cardinal;pBuffer : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 47;
function DrgQueryNativeRMFLen(pditem : PDragItem) : cardinal; cdecl;
external 'PMDRAG' index 48;
function DrgQueryStrName(hstr : HStr;cbBuffer : cardinal;pBuffer : PAnsiChar) : cardinal; cdecl;
external 'PMDRAG' index 49;
function DrgQueryStrNameLen(hstr : HStr) : cardinal; cdecl;
external 'PMDRAG' index 50;
function DrgQueryTrueType(pditem : PDragItem;cbBuffer : cardinal;pBuffer : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 51;
function DrgQueryTrueTypeLen(pditem : PDragItem) : cardinal; cdecl;
external 'PMDRAG' index 52;
function DrgSendTransferMsg(hwnd : HWnd;msg : cardinal;mp1 : MParam;mp2 : MParam) : MResult; cdecl;
external 'PMDRAG' index 54;
function DrgSetDragitem(pdinfo : PDragInfo;pditem : PDragItem;cbBuffer : cardinal;iItem : cardinal) : Longbool; cdecl;
external 'PMDRAG' index 57;
function DrgSetDragImage(pdinfo : PDragInfo;pdimg : PDragImage;cdimg : cardinal; var pRsvd) : Longbool; cdecl;
external 'PMDRAG' index 56;
function DrgVerifyTypeSet(pditem : PDragItem;pszType : PAnsiChar;cbMatch : cardinal;pszMatch : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 62;
function DrgAccessDraginfo(pdinfo : PDragInfo) : Longbool; cdecl;
external 'PMDRAG' index 32;
function DrgAddStrHandle(PSZ : PAnsiChar) : HStr; cdecl;
external 'PMDRAG' index 33;
function DrgDeleteDraginfoStrHandles(pdinfo : PDragInfo) : Longbool; cdecl;
external 'PMDRAG' index 36;
function DrgDeleteStrHandle(hstr : HStr) : Longbool; cdecl;
external 'PMDRAG' index 37;
function DrgFreeDraginfo(pdinfo : PDragInfo) : Longbool; cdecl;
external 'PMDRAG' index 39;
function DrgFreeDragtransfer(pdxfer : PDragTransfer) : Longbool; cdecl;
external 'PMDRAG' index 40;
function DrgGetPS(hwnd : HWnd) : HPS; cdecl;
external 'PMDRAG' index 41;
function DrgPushDraginfo(pdinfo : PDragInfo;hwndDest : HWnd) : Longbool; cdecl;
external 'PMDRAG' index 43;
function DrgReleasePS(hps : HPS) : Longbool; cdecl;
external 'PMDRAG' index 53;
function DrgSetDragPointer(pdinfo : PDragInfo;hptr : cardinal) : Longbool; cdecl;
external 'PMDRAG' index 55;
function DrgVerifyNativeRMF(pditem : PDragItem;pszRMF : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 58;
function DrgVerifyRMF(pditem : PDragItem;pszMech : PAnsiChar;pszFmt : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 59;
function DrgVerifyTrueType(pditem : PDragItem;pszType : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 60;
function DrgVerifyType(pditem : PDragItem;pszType : PAnsiChar) : Longbool; cdecl;
external 'PMDRAG' index 61;
end.