soui-edit控件

布局属性

<edit name="edit_username" pos="530,{148,@208,@32" margin="0" colorText="#000000" font="face:宋体,bold:1,size:20" />

获取内容

SEdit* pEdit = (SEdit*)FindChildByName(L"edit_termId");
SStringT terminalNo = pEdit->GetWindowText();

响应EN_CHANGE事件

void OnEnChangeOrderAmount(EventArgs *pEvt);

void CMainDlg::OnEnChangeOrderAmount(EventArgs *pEvt)
{
STRACE(_T("OnEnChangeOrderAmount,iNotify = EN_CHANGE"));
}

//soui消息
EVENT_MAP_BEGIN()
...
EVENT_NAME_HANDLER(L"edit_orderAmount", EVT_RE_NOTIFY, OnEnChangeOrderAmount)
EVENT_MAP_END()

响应 EN_SETFOCUS 事件

BOOL CMainDlg::OnInitDialog(HWND hWnd, LPARAM lParam)
{
m_bLayoutInited = TRUE;

SEdit* pEdit = (SEdit*)FindChildByName(L"edit_orderAmount");
pEdit->GetEventSet()->subscribeEvent(EVT_SETFOCUS, Subscriber(&CMainDlg::OnSetFocusOrderAmount, this));
...
}

bool CMainDlg::OnSetFocusOrderAmount(EventArgs * pEvtBase)
{
EventSetFocus *pEvt = (EventSetFocus*)pEvtBase;
STRACE(L"OnSetFocusOrderAmount....");

return true;
}

设置光标位置

pEdit->SSendMessage(EM_SETSEL, -1, -1);