#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(); } bool operator ==(xcontrol& rhs) { return getNativePointer() == rhs.getNativePointer(); } operator LPARAM() { return (LPARAM)getNativePointer(); } 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; wchar_t* buf = xs.sure(nLen + 1); GetWindowTextW(GetHWND(),buf , nLen + 1); return xs; } int SetText(string value) { int WM_SETTEXT_ = 0x000C; ::SetWindowTextW(GetHWND(),value); return 1; } KXMLDOMElement GetElement() { return ((kcontrol*)this->getNativePointer())->GetElement(); } Hxsoft::XFrame::xbObject* QueryItem(xstring pItem) { return ((kcontrol*)this->getNativePointer())->QueryItem((LPTSTR)pItem.c_str()); } };