doc_and_tools/tools/apps/hg-helper/DlgPageErrMsg.cpp

148 lines
4.0 KiB
C++
Raw Permalink Normal View History

// DlgIndicator.cpp: 实现文件
//
#include "DlgPageErrMsg.h"
#include "resource.h"
#include <huagao/hgscanner_error.h>
dlg_err_msg::dlg_err_msg(HWND parent) : dlg_base(parent, IDD_ERR_MSG), list_(NULL)
{
create();
}
dlg_err_msg::~dlg_err_msg()
{
}
void dlg_err_msg::init_error_items(void)
{
LVITEMW item = { 0 };
int ind = ListView_GetItemCount(list_);
std::wstring text(L"");
wchar_t buf[80] = { 0 };
#define INSERT_ERROR_MSG(err) \
item.mask = LVIF_TEXT; \
item.iItem = ListView_GetItemCount(list_); \
text = std::to_wstring(item.iItem + 1); \
item.pszText = &text[0]; \
ind = ListView_InsertItem(list_, &item); \
swprintf_s(buf, _countof(buf) - 1, L"%05d - 0x%04X", SCANNER_ERR_##err, SCANNER_ERR_##err); \
ListView_SetItemText(list_, ind, 1, buf); \
text = dlg_base::m2u(STATU_DESC_SCANNER_ERR_##err, CP_UTF8); \
ListView_SetItemText(list_, ind, 2, &text[0]);
INSERT_ERROR_MSG(OK);
INSERT_ERROR_MSG(INVALID_PARAMETER);
INSERT_ERROR_MSG(USER_CANCELED);
INSERT_ERROR_MSG(INSUFFICIENT_MEMORY);
INSERT_ERROR_MSG(ACCESS_DENIED);
INSERT_ERROR_MSG(IO_PENDING);
INSERT_ERROR_MSG(NOT_EXACT);
INSERT_ERROR_MSG(CONFIGURATION_CHANGED);
INSERT_ERROR_MSG(NOT_OPEN);
INSERT_ERROR_MSG(NOT_START);
INSERT_ERROR_MSG(NOT_ANY_MORE);
INSERT_ERROR_MSG(NO_DATA);
INSERT_ERROR_MSG(HAS_DATA_YET);
INSERT_ERROR_MSG(OUT_OF_RANGE);
INSERT_ERROR_MSG(IO);
INSERT_ERROR_MSG(TIMEOUT);
INSERT_ERROR_MSG(OPEN_FILE_FAILED);
INSERT_ERROR_MSG(CREATE_FILE_FAILED);
INSERT_ERROR_MSG(WRITE_FILE_FAILED);
INSERT_ERROR_MSG(DATA_DAMAGED);
INSERT_ERROR_MSG(OPENED_BY_OTHER_PROCESS);
INSERT_ERROR_MSG(LANG_PAK_LOST);
INSERT_ERROR_MSG(RELOAD_IMAGE_PARAM);
INSERT_ERROR_MSG(RELOAD_OPT_PARAM);
INSERT_ERROR_MSG(USB_INIT_FAILED);
INSERT_ERROR_MSG(USB_REGISTER_PNP_FAILED);
INSERT_ERROR_MSG(USB_CLAIM_INTERFACE_FAILED);
INSERT_ERROR_MSG(DEVICE_NOT_FOUND);
INSERT_ERROR_MSG(DEVICE_NOT_SUPPORT);
INSERT_ERROR_MSG(DEVICE_BUSY);
INSERT_ERROR_MSG(DEVICE_SLEEPING);
INSERT_ERROR_MSG(DEVICE_COUNT_MODE);
INSERT_ERROR_MSG(DEVICE_STOPPED);
INSERT_ERROR_MSG(DEVICE_COVER_OPENNED);
INSERT_ERROR_MSG(DEVICE_NO_PAPER);
INSERT_ERROR_MSG(DEVICE_FEEDING_PAPER);
INSERT_ERROR_MSG(DEVICE_DOUBLE_FEEDING);
INSERT_ERROR_MSG(DEVICE_PAPER_JAMMED);
INSERT_ERROR_MSG(DEVICE_STAPLE_ON);
INSERT_ERROR_MSG(DEVICE_PAPER_SKEW);
INSERT_ERROR_MSG(DEVICE_SIZE_CHECK);
INSERT_ERROR_MSG(DEVICE_DOGEAR);
INSERT_ERROR_MSG(DEVICE_NO_IMAGE);
INSERT_ERROR_MSG(DEVICE_SCANN_ERROR);
INSERT_ERROR_MSG(DEVICE_PC_BUSY);
INSERT_ERROR_MSG(DEVICE_ISLOCK);
INSERT_ERROR_MSG(DEVICE_UPGRADE_SUCCESSFUL);
INSERT_ERROR_MSG(DEVICE_UPGRADE_FAIL);
INSERT_ERROR_MSG(DEVICE_AUTO_FAIL_OVER);
INSERT_ERROR_MSG(DEVICE_AUTO_FAIL_INFO);
INSERT_ERROR_MSG(DEVICE_DISTORTION);
INSERT_ERROR_MSG(DEVICE_MAYBE_IS_HOLE);
INSERT_ERROR_MSG(DEVICE_DEVS_BOOTING);
INSERT_ERROR_MSG(DEVICE_UNKNOWN_STATUS);
}
BOOL dlg_err_msg::handle_message(UINT msg, WPARAM wp, LPARAM lp)
{
wchar_t text[40] = { 0 };
BOOL ret = TRUE;
switch (msg)
{
case WM_INITDIALOG:
on_init_dlg();
UpdateWindow(hwnd());
break;
case WM_COMMAND:
handle_command(HIWORD(wp), LOWORD(wp), (HWND)lp);
break;
case WM_NOTIFY:
ret = on_notify((int)wp, (LPNMHDR)lp);
break;
default:
ret = FALSE;
}
return ret;
}
void dlg_err_msg::handle_command(WORD code, WORD id, HANDLE ctrl)
{
}
void dlg_err_msg::on_init_dlg(void)
{
LVCOLUMNW col;
int ind = 0;
list_ = get_item(IDC_LIST_ERR_CODE);
ListView_SetExtendedListViewStyle(list_, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
col.mask = LVCF_TEXT | LVCF_WIDTH;
col.pszText = (wchar_t*)L"\u5E8F\u53F7";
col.cx = 40;
ListView_InsertColumn(list_, ind++, &col);
col.pszText = (wchar_t*)L"\u9519\u8BEF\u4EE3\u7801\uFF08\u5341/\u5341\u516D\u8FDB\u5236\uFF09";
col.cx = 150;
ListView_InsertColumn(list_, ind++, &col);
col.pszText = (wchar_t*)L"\u9519\u8BEF\u63CF\u8FF0";
col.cx = 319;
ListView_InsertColumn(list_, ind++, &col);
init_error_items();
}
BOOL dlg_err_msg::on_notify(int ctrl_id, LPNMHDR pnmh)
{
BOOL ret = TRUE;
if (pnmh->hwndFrom == list_)
{
}
return ret;
}