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