59 lines
1.8 KiB
C++
59 lines
1.8 KiB
C++
#include "pch.h"
|
|
#include "windows_cfgbuttons.h"
|
|
#include "compiletime_XORstring.h"
|
|
|
|
namespace windows_cfgbuttons
|
|
{
|
|
CWindow_button saveCfg;
|
|
CWindow_button loadCfg;
|
|
wchar_t ws_saveCfg[wstringSzFromSizeof(sizeof(L"save"))] = { 0 };
|
|
wchar_t ws_loadCfg[wstringSzFromSizeof(sizeof(L"load"))] = { 0 };
|
|
};
|
|
|
|
static CONSTEXPRENCRYPTSTRW(ws_saveCfg, L"save", 0x5690);
|
|
static CONSTEXPRENCRYPTSTRW(ws_loadCfg, L"load", 0x1690);
|
|
#define DECRYPT_saveCfg DECRYPTCONSTENCSTRW(ws_saveCfg, sizeof(L"save") / sizeof(wchar_t), 0x5690)
|
|
#define DECRYPT_loadCfg DECRYPTCONSTENCSTRW(ws_loadCfg, sizeof(L"load") / sizeof(wchar_t), 0x1690)
|
|
|
|
void windows_cfgbuttons::Build(CWindowsBuilder& builder, int left, int width, int top, int height, int gap, HWND hwnd)
|
|
{
|
|
DWORD FlatButtonStyleInvisble = (WS_CHILD & ~WS_VISIBLE) | BS_PUSHBUTTON | BS_CENTER | BS_FLAT;
|
|
builder.ChangeStyle(FlatButtonStyleInvisble);
|
|
|
|
int rwidth = width / 2 - gap * 2;
|
|
int rheight = height - gap * 2;
|
|
|
|
builder.ChangeHeight(rheight);
|
|
builder.ChangeWidth(rwidth);
|
|
builder.ChangeParentHWND(hwnd);
|
|
builder.ChangeLeftPos(left);
|
|
builder.ChangeTopPos(top);
|
|
copy_string_w((wchar_t*)ws_saveCfg, wstringSzFromSizeof(sizeof(ws_saveCfg)), DECRYPT_saveCfg, wstringSzFromSizeof(sizeof(L"save")));
|
|
builder.ChangeTextP(ws_saveCfg);
|
|
saveCfg.Visit(&builder);
|
|
copy_string_w((wchar_t*)ws_loadCfg, wstringSzFromSizeof(sizeof(ws_loadCfg)), DECRYPT_loadCfg, wstringSzFromSizeof(sizeof(L"load")));
|
|
builder.ChangeLeftPos(builder.build_left_pos + builder.build_width + gap);
|
|
builder.ChangeTextP(ws_loadCfg);
|
|
loadCfg.Visit(&builder);
|
|
}
|
|
|
|
void windows_cfgbuttons::ApplyFonts(CWindowsFontApplier& fontappl)
|
|
{
|
|
loadCfg.Visit(&fontappl);
|
|
saveCfg.Visit(&fontappl);
|
|
}
|
|
|
|
void windows_cfgbuttons::Show()
|
|
{
|
|
loadCfg.Show();
|
|
saveCfg.Show();
|
|
}
|
|
|
|
void windows_cfgbuttons::Hide()
|
|
{
|
|
loadCfg.Hide();
|
|
saveCfg.Hide();
|
|
}
|
|
|
|
|