Element Edit BaseElements include 'Win.inc' EndBase Vars Self#.IgnoreFirstEvent db ? Create mov [Self#.IgnoreFirstEvent],Self#.prop.IgnoreFirstEvent NewControl Self,Parent,edit_class,Self#.prop.Text,WS_BORDER+ES_AUTOHSCROLL+ES_LEFT,WS_EX_CLIENTEDGE Events Event Self,onChange,EN_CHANGE cmp [Self#.IgnoreFirstEvent],0 je @f mov [Self#.IgnoreFirstEvent],0 jmp Parent#.finish @@:mov edx,__rtl_temp_str mov eax,256 call __strsetlength invoke SendMessage,[Self#.hwnd],WM_GETTEXT,256,[__rtl_temp_str] Self#.onChange [__rtl_temp_str],data_str,Parent#.finish jmp Parent#.finish EndEvent LocalProc proc Self#.onEnterProc mov edx,__rtl_temp_str mov eax,256 call __strsetlength invoke SendMessage,[Self#.hwnd],WM_GETTEXT,256,[__rtl_temp_str] invoke SendMessage,[Self#.hwnd],WM_SETTEXT,0,0 Self#.onEnter [__rtl_temp_str],data_str ret endp MessageMap if Self#.onEnter.use eq 1 cmp [wmsg],WM_KEYDOWN jne @f cmp [wparam],VK_RETURN jne @f call Self#.onEnterProc jmp Self#.finish @@:end if PointWork doText \local res ReadStr res,data,data.type,Self#.Str,0 invoke SendMessage,[Self#.hwnd],WM_SETTEXT,0,res EndPoint PointWork doText2 \local res mov [Self#.IgnoreFirstEvent],1 ReadStr res,data,data.type,Self#.Str,0 invoke SendMessage,[Self#.hwnd],WM_SETTEXT,0,res EndPoint PointVar Text,data_str mov edx,__rtl_temp_str mov eax,256 call __strsetlength invoke SendMessage,[Self#.hwnd],WM_GETTEXT,256,[__rtl_temp_str] result equ [__rtl_temp_str] EndPoint EndElement