#pragma once #include "xview.hpp" #include "kobject/kcontrol.hpp" #include "kobject/kwin.hpp" #include "win32/win.hpp" #include "wobject/xstring.hpp" using kwin=Hxsoft::XFrame::IXFWin; using kcontrol = Hxsoft::XFrame::IXFControl; class xcontrol: public xview { public: xcontrol(void * impl):xview(impl){} public: int Redraw() { return ((kcontrol*)this->getNativePointer())->Redraw(); } HWND GetHWND() { return ((kcontrol*)this->getNativePointer())->GetHWND(); } int SetReadOnlyEx(const bool ) { int EM_SETREADONLY = 0x00CF; return SendMessage(GetHWND(),EM_SETREADONLY,0,0); } int EnableWindow(bool abled) { return ::EnableWindow(GetHWND(),abled); } int GetTextLength() { int WM_GETTEXTLENGTH = 0x000E; int nLen = ::GetWindowTextLengthW(GetHWND()); return nLen; } xstring GetText() { int WM_GETTEXT = 0x000D; int nLen = GetTextLength(); xstring xs; GetWindowTextW(GetHWND(),xs.sure(nLen+1),nLen + 1); return xs; } int SetText(string value) { int WM_SETTEXT = 0x000C; ::SetWindowTextW(GetHWND(),value); return 1; } KXMLDOMElement GetElement() { return ((kcontrol*)this->getNativePointer())->GetElement(); } };