48 lines
1004 B
C++
48 lines
1004 B
C++
#pragma once
|
|
#include <Windows.h>
|
|
#include <string>
|
|
|
|
#include "DlgPage.h"
|
|
|
|
|
|
// CDlgSaveScheme 对话框
|
|
enum save_method
|
|
{
|
|
SAVE_DISCARD = 0,
|
|
SAVE_OVERWRITE,
|
|
SAVE_NEW,
|
|
};
|
|
enum
|
|
{
|
|
SAVE_REASON_QUIT_UI = 0,
|
|
SAVE_REASON_SWITCH_SCHEME,
|
|
SAVE_REASON_RESTORE,
|
|
};
|
|
#define SAVE_METHOD_MASK(m) (1 << m)
|
|
|
|
class dlg_save_scheme : public dlg_base
|
|
{
|
|
std::vector<std::wstring> existing_;
|
|
std::wstring name_ = L"";
|
|
save_method method_ = SAVE_DISCARD;
|
|
|
|
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);
|
|
void layout(void);
|
|
|
|
void on_init_dlg(void);
|
|
void on_paint(HDC hdc);
|
|
void goto_name(void);
|
|
void check_radio(UINT id, bool check = true);
|
|
|
|
public:
|
|
dlg_save_scheme(HWND parent);
|
|
~dlg_save_scheme();
|
|
|
|
public:
|
|
void set_info(const wchar_t* name, std::vector<std::wstring>& existing, int mask, const wchar_t* new_name = nullptr);
|
|
save_method get_dispose(void);
|
|
std::wstring get_name(void);
|
|
};
|