code_twain/sane/DlgIndicator.h

56 lines
1.1 KiB
C
Raw Permalink Normal View History

2022-06-18 08:48:41 +00:00
#pragma once
#include <Windows.h>
#include <string>
#include <map>
2022-06-18 08:48:41 +00:00
#include "DlgPage.h"
2022-06-18 08:48:41 +00:00
// CDlgIndicator 对话框
2022-06-18 08:48:41 +00:00
class dlg_indicator : public dlg_base
2022-06-18 08:48:41 +00:00
{
unsigned int papers_;
unsigned int images_;
bool err_;
bool finish_;
2022-06-18 08:48:41 +00:00
BOOL handle_message(UINT msg, WPARAM wp, LPARAM lp) override;
2022-06-18 08:48:41 +00:00
void handle_command(WORD code, WORD id, HANDLE ctrl);
void notify_over(bool cancel);
2022-06-18 08:48:41 +00:00
public:
dlg_indicator(HWND parent, bool sole_thread);
2022-06-18 08:48:41 +00:00
~dlg_indicator();
public:
HWND window(void);
HWND parent(void);
void notify_data_arrived(bool image);
void notify_scan_over(const char* msg, bool err);
2022-07-01 07:24:58 +00:00
void notify_working(void);
2022-06-18 08:48:41 +00:00
};
typedef struct _dev_que
{
int id; // ID用户选中后返回该值
std::string name; // 设备名称
std::string sn; // 设备序列号
}DEVQUE;
class dlg_choose_dev : public dlg_base
{
std::string sel_;
int item_;
BOOL handle_message(UINT msg, WPARAM wp, LPARAM lp) override;
void handle_command(WORD code, WORD id, HANDLE ctrl);
void handle_notify(UINT id, LPNMHDR pnhdr);
public:
dlg_choose_dev(HWND parent, const std::vector<DEVQUE>& devs);
~dlg_choose_dev();
public:
std::string get_selected_device(void);
};