#pragma once #include "wobject/xcontrol.hpp" #include "win32/win.hpp" class xcheckbox: public xcontrol { public: xcheckbox() :xcontrol(nullptr) {} xcheckbox(void* implptr) :xcontrol(implptr) {} static int SetCheck(HWND wid) { int BM_SETCHECK = 0x00F1; int BST_CHECKED = 0x1; SendMessage(wid, BM_SETCHECK, BST_CHECKED, 0); return 1; } static int SetUnCheck(HWND wid) { int BM_SETCHECK = 0x00F1; int BST_UNCHECKED = 0x0; SendMessage(wid, BM_SETCHECK, BST_UNCHECKED, 0); return 1; } static int SetText(HWND wid, string txt) { int WM_SETTEXT = 0x000C; SendMessage(wid, WM_SETTEXT, 0, (LPARAM)txt); return 1; } static int GetCheck(HWND wid) { int BM_GETCHECK = 0x00F0; int BM_GETSTATE = 0x00F2; int r = SendMessage(wid, BM_GETSTATE, 0, 0); if (r == 8 || r == 0 || r == 520) return -1; else return 1; } int SetCheck() { int BM_SETCHECK = 0x00F1; int BST_CHECKED = 0x1; SendMessage(GetHWND(), BM_SETCHECK, BST_CHECKED, 0); return 1; } int SetUnCheck() { int BM_SETCHECK = 0x00F1; int BST_UNCHECKED = 0x0; SendMessage(GetHWND(), BM_SETCHECK, BST_UNCHECKED, 0); return 1; } int SetText(string txt) { int WM_SETTEXT = 0x000C; SendMessage(GetHWND(), WM_SETTEXT, 0, (LPARAM)txt); return 1; } int GetCheck() { int BM_GETCHECK = 0x00F0; int BM_GETSTATE = 0x00F2; int r = SendMessage(GetHWND(), BM_GETSTATE, 0, 0); if (r == 8 || r == 0 || r == 520) return -1; else return 1; } };