From ccbe005de8345096f0a08be0ab740123f389f6ce Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Thu, 4 May 2023 11:13:47 +0800 Subject: [PATCH] =?UTF-8?q?twainui=E5=A2=9E=E5=8A=A0=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=A1=86=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/twainui/twainui.cpp | 22 ++++++++++++++++++++++ modules/twainui/twainui.h | 12 ++++++++++++ 2 files changed, 34 insertions(+) diff --git a/modules/twainui/twainui.cpp b/modules/twainui/twainui.cpp index 023f0ad0..4aacc6b8 100644 --- a/modules/twainui/twainui.cpp +++ b/modules/twainui/twainui.cpp @@ -1,4 +1,5 @@ #include "twainui.h" +#include #include "dialog_device_select.h" #include "dialog_progress_ui.h" #include "hg_settingdialog.h" @@ -144,3 +145,24 @@ int show_progress_ui(HWND parent, std::function callback, std: return 0; } + +int show_messagebox_ui(HWND parent, int event, void *msg, int flag) +{ + QWidget *qParent = nullptr; +#ifdef HG_CMP_MSC + if (!g_ownApplication) + g_ownApplication = QMfcApp::pluginInstance(g_hInst); + QWinWidget *win = new QWinWidget(parent); + if (nullptr != parent) + { + win->showCentered(); + qParent = win; + } +#else + qParent = parent; +#endif + + char *str = (char*)msg; + QMessageBox::critical(qParent, QObject::tr("Prompt"), QString::fromStdString(str)); + return UI_RESULT_OK; +} diff --git a/modules/twainui/twainui.h b/modules/twainui/twainui.h index e10cedc9..f9c997e6 100644 --- a/modules/twainui/twainui.h +++ b/modules/twainui/twainui.h @@ -79,3 +79,15 @@ int show_setting_ui(SANE_Handle device, HWND parent, LPSANEAPI api, const char * // // 返回: ui_result 类型, UI_RESULT_FAILED or UI_RESULT_OK int show_progress_ui(HWND parent, std::function callback, std::function* notify); +// 功能: 不显示扫描进度界面,设备返回错误信息指示框,非模态 +// +// 参数: parent - 父窗口句柄 +// +// events - SANE_EVENT_SCAN_FINISHED +// +// void* - (utf8*)message, +// +// flag - error code (0 is success) +// +// 返回: ui_result 类型, UI_RESULT_FAILED or UI_RESULT_OK +int show_messagebox_ui(HWND parent,int event, void* msg, int flag);