tekno_uttv2/ultimateteknotool.v2/windows_cfgbuttons.cpp
2020-12-31 15:35:46 +03:00

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();
}