mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
91 lines
3.1 KiB
ObjectPascal
91 lines
3.1 KiB
ObjectPascal
unit DialogAPI;
|
|
|
|
interface
|
|
|
|
const
|
|
// dialog messages
|
|
DM_FIRST = 0;
|
|
DM_CLOSE = DM_FIRST+1;
|
|
DM_ENABLE = DM_FIRST+2;
|
|
DM_GETDLGDATA = DM_FIRST+3;
|
|
DM_GETDLGBOUNDS = DM_FIRST+4;
|
|
DM_GETITEMBOUNDS = DM_FIRST+5;
|
|
DM_GETTEXT = DM_FIRST+6;
|
|
DM_KEYDOWN = DM_FIRST+7;
|
|
DM_KEYUP = DM_FIRST+8;
|
|
DM_SETDLGDATA = DM_FIRST+9;
|
|
DM_SETFOCUS = DM_FIRST+10;
|
|
DM_REDRAW = DM_FIRST+11;
|
|
DM_SETTEXT = DM_FIRST+12;
|
|
DM_SETMAXTEXTLENGTH = DM_FIRST+13;
|
|
DM_SHOWDIALOG = DM_FIRST+14;
|
|
DM_SHOWITEM = DM_FIRST+15;
|
|
DM_GETCHECK = DM_FIRST+16;
|
|
DM_SETCHECK = DM_FIRST+17;
|
|
DM_LISTGETITEM = DM_FIRST+18;
|
|
DM_LISTGETITEMINDEX = DM_FIRST+19;
|
|
DM_LISTSETITEMINDEX = DM_FIRST+20;
|
|
DM_LISTDELETE = DM_FIRST+21;
|
|
DM_LISTADD = DM_FIRST+22;
|
|
DM_LISTADDSTR = DM_FIRST+23;
|
|
DM_LISTUPDATE = DM_FIRST+24;
|
|
DM_LISTINSERT = DM_FIRST+25;
|
|
DM_LISTINDEXOF = DM_FIRST+26;
|
|
DM_LISTGETCOUNT = DM_FIRST+27;
|
|
DM_LISTGETDATA = DM_FIRST+28;
|
|
DM_LISTSETDATA = DM_FIRST+29;
|
|
DM_SETDLGBOUNDS = DM_FIRST+30;
|
|
DM_SETITEMBOUNDS = DM_FIRST+31;
|
|
DM_GETDROPPEDDOWN = DM_FIRST+32;
|
|
DM_SETDROPPEDDOWN = DM_FIRST+33;
|
|
DM_GETITEMDATA = DM_FIRST+34;
|
|
DM_SETITEMDATA = DM_FIRST+35;
|
|
DM_LISTSET = DM_FIRST+36;
|
|
|
|
// events messages
|
|
DN_FIRST = $1000;
|
|
DN_CLICK = DN_FIRST+1;
|
|
DN_DBLCLICK = DN_FIRST+2;
|
|
DN_CHANGE = DN_FIRST+3;
|
|
DN_GOTFOCUS = DN_FIRST+4;
|
|
DN_INITDIALOG = DN_FIRST+5;
|
|
DN_KILLFOCUS = DN_FIRST+6;
|
|
|
|
DN_KEYDOWN = DM_KEYDOWN;
|
|
DN_KEYUP = DM_KEYUP;
|
|
DN_CLOSE = DM_CLOSE;
|
|
|
|
DM_USER = $4000;
|
|
type
|
|
{ Dialog window callback function }
|
|
TDlgProc = function(pDlg: PtrUInt; DlgItemName: PChar; Msg, wParam, lParam: PtrInt): PtrInt; stdcall;
|
|
{ Definition of callback functions called by the DLL }
|
|
TInputBoxProc = function(Caption, Prompt, DefaultText : PWideChar): PWideChar;stdcall;
|
|
TMessageBoxProc = function(Text, Caption: PWideChar; Flags: Longint): Integer;stdcall;
|
|
TDialogBoxProc = function(DlgData: PWideChar; DlgProc: TDlgProc): PtrUInt;stdcall;
|
|
TDialogBoxExProc = function(lfmFileName: PWideChar; DlgProc: TDlgProc): PtrUInt;stdcall;
|
|
|
|
type
|
|
TSetDlgProcInfo = packed record
|
|
PluginDir: PWideChar;
|
|
PluginConfDir: PWideChar;
|
|
InputBox: TInputBoxProc;
|
|
MessageBox: TMessageBoxProc;
|
|
DialogBox: TDialogBoxProc;
|
|
DialogBoxEx: TDialogBoxExProc;
|
|
SendDlgMsg: TDlgProc;
|
|
end;
|
|
|
|
type
|
|
TSetDlgProc = procedure(var SetDlgProcInfo: TSetDlgProcInfo);stdcall;
|
|
|
|
implementation
|
|
|
|
{ Plugin must implement this function for working with Dialog API
|
|
|
|
procedure SetDlgProc(var SetDlgProcInfo: TSetDlgProcInfo);stdcall;
|
|
|
|
}
|
|
|
|
end.
|
|
|