summaryrefslogtreecommitdiff
path: root/plugins/Actman30/question.pas
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Actman30/question.pas')
-rw-r--r--plugins/Actman30/question.pas58
1 files changed, 58 insertions, 0 deletions
diff --git a/plugins/Actman30/question.pas b/plugins/Actman30/question.pas
new file mode 100644
index 0000000000..9e5f0d1b59
--- /dev/null
+++ b/plugins/Actman30/question.pas
@@ -0,0 +1,58 @@
+unit question;
+
+interface
+uses windows,messages;
+
+function ShowQuestion(ask:pWideChar):integer;
+
+implementation
+
+uses m_api;
+
+{$include i_const.inc}
+{$resource ask.res}
+
+const
+ imp_yes = 1;
+ imp_yesall = 2;
+ imp_no = 3;
+ imp_noall = 4;
+ imp_append = 5;
+
+function QuestionDlg(Dialog:HWnd;hMessage:UINT;wParam:WPARAM;lParam:LPARAM):LRESULT; stdcall;
+var
+ i:integer;
+begin
+ result:=0;
+ case hMessage of
+ WM_INITDIALOG: begin
+ TranslateDialogDefault(Dialog);
+ SetDlgItemTextW(Dialog, IDC_ASK,pWideChar(lParam));
+ result:=1;
+ end;
+ WM_COMMAND: begin
+ case loword(wParam) of
+ IDOK : i:=imp_yes;
+ IDCANCEL : i:=imp_no;
+ IDC_YESALL: i:=imp_yesall;
+ IDC_NOALL : i:=imp_noall;
+ IDC_APPEND: i:=imp_append;
+ else
+ i:=0;
+ end;
+ if i<>0 then
+ begin
+ EndDialog(Dialog,i);
+ result:=1;
+ end;
+ end;
+ end;
+end;
+
+function ShowQuestion(ask:pWideChar):integer;
+begin
+ result:=DialogBoxParam(hInstance,MAKEINTRESOURCE(IDD_ASK),0,
+ @QuestionDlg,TLPARAM(ask));
+end;
+
+end.