/programs/develop/fasm/trunk/fasm.asm |
---|
334,21 → 334,9 |
mov [edit3.size],edi |
mov [edit3.pos],edi |
;xor al,al |
mov edi,dword[OpenDialog_data.filename_area] |
mov ebx,edi ;copy text pointer |
mov ecx,dword[edit1.max] |
;cld |
repne scasb |
sub edi,ebx ;edi = strlen(OpenDialog_data.filename_area) |
mov ecx,edi |
dec edi |
mov [edit1.size],edi |
mov [edit1.pos],edi |
mov esi,dword[OpenDialog_data.filename_area] |
mov edi,dword[edit1.text] |
;cld |
rep movsb |
push dword [OpenDialog_data.filename_area] |
push dword edit1 |
call dword [edit_box_set_text] |
push dword edit1 |
call dword [edit_box_draw] |
459,6 → 447,7 |
edit_box_draw dd aEdit_box_draw |
edit_box_key dd aEdit_box_key |
edit_box_mouse dd aEdit_box_mouse |
edit_box_set_text dd aEdit_box_set_text |
;version_ed dd aVersion_ed |
check_box_draw dd aCheck_box_draw |
470,6 → 459,7 |
aEdit_box_draw db 'edit_box',0 |
aEdit_box_key db 'edit_box_key',0 |
aEdit_box_mouse db 'edit_box_mouse',0 |
aEdit_box_set_text db 'edit_box_set_text',0 |
;aVersion_ed db 'version_ed',0 |
aCheck_box_draw db 'check_box_draw',0 |
/programs/develop/libraries/box_lib/trunk/box_lib.asm |
---|
125,6 → 125,7 |
dd sz_edit_box, edit_box |
dd sz_edit_box_key, edit_box_key |
dd sz_edit_box_mouse, edit_box_mouse |
dd sz_edit_box_set_text, edit_box_set_text |
dd szVersion_ed, 0x00000001 |
dd sz_check_box_draw, check_box_draw |
222,6 → 223,7 |
sz_edit_box db 'edit_box',0 |
sz_edit_box_key db 'edit_box_key',0 |
sz_edit_box_mouse db 'edit_box_mouse',0 |
sz_edit_box_set_text db 'edit_box_set_text',0 |
szVersion_ed db 'version_ed',0 |
sz_check_box_draw db 'check_box_draw',0 |
/programs/develop/libraries/box_lib/trunk/box_lib.mac |
---|
257,6 → 257,7 |
tl_err_load_info_size equ 100b ;¥ ᮢ¯ ¤ ¥â à §¬¥à ¨ä®à¬ 樮®© áâàãªâãàë ¯à¨ ®âªàë⨨ |
tl_load_mode_add equ 0x20000 ;®¯æ¨ï áç¨âë¢ ¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥¨ï ¨ä®à¬ 樨 |
tl_save_load_heder_size equ 26 ;à §¬¥à § £®«®¢ª ¤«ï § ¯¨á¨/ç⥨ï í«¥¬¥â®¢ |
tl_offs_box equ 58 ; ç «® BOX áâàãªâãàë ¤«ï tree_list |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;Basic macros for use TextEditor ; |
/programs/develop/libraries/box_lib/trunk/doc/editbox/info_editbox.htm |
---|
12,6 → 12,8 |
<ul> |
<li><a href="#fun_key">edit_box_key</a></li> |
<li><a href="#fun_mouse">edit_box_mouse</a></li> |
<li><a href="#fun_draw">edit_box_draw</a></li> |
<li><a href="#fun_set_text">edit_box_set_text</a></li> |
<li><a href="#version">version_ed</a></li> |
</ul> |
<p><a href="#struc_editbox">Ñòðóêòóðà editbox</a></p> |
30,6 → 32,18 |
<h2><a name="fun_mouse">edit_box_mouse</a></h2> |
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ ïðè ââîäå èíôîðìàöèè ñ ìûøè.</p> |
<h2><a name="fun_draw">edit_box_draw</a></h2> |
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ ïðè ââîäå ïåðåðèñîâêå ýëåìåíòà.</p> |
<h2><a name="fun_set_text">edit_box_set_text</a></h2> |
<p>Ýòà ôóíêöèÿ êîïèðóåò òåêñò èç óêàçàòåëÿ â òåêñòîâîå ïîëå. Åñëè òåêñò â óêàçàòåëå îêàæåòñÿ äëèííåå ÷åì äîïóñòèìûé â ýëåìåíòå edit_box, òî îí çàïèøåòñÿ íå âåñü. Ïîñëå âûçîâà äàííîé ôóíêöèè íåîáõîäèìî ïåðåðèñîâàòü îêíî ôóíêöèåé edit_box_draw, èíà÷å èçìåíåíèÿ áóäóò ñðàçó íå âèäíû. Ïðèìåð èñïîëüçîâàíèÿ:</p> |
<pre> push dword buf |
push dword edit1 |
call dword [edit_box_set_text] |
......... |
buf db '111-222-333',0</pre> |
<p>ãäå <b>edit1</b> - ñòðóêòóðà ýëåìåíòà edit_box; <b>buf</b> - áóôåð, â êîòîðîì ñîäåðæèòñÿ óñòàíàâëèâàåìûé òåêñò.</p> |
<h2><a name="version">version_ed</a></h2> |
<p>Âåðñèÿ ýëåìåíòà</p> |
74,6 → 88,6 |
<p>Òåêñòîâîå ïîëå â ôîêóñå.</p> |
<hr> |
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 10.01.10.</p> |
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 17.09.10.</p> |
</body> |
</html> |
/programs/develop/libraries/box_lib/trunk/editbox.mac |
---|
327,7 → 327,7 |
;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------ |
;--- ¥á«¨ ᬥ饨¥ ¡ë«® ãáâ ®¢ª ä« £ ed_offset_cl ¨ ç¥ |
; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì â® ¢ëáâ ¢«¥¨¥ ed_offset_fl |
; ¢ ®¡é¥© ¡¨â®¢®© ¬ àà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags |
; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags |
;---------------------------------------------------------- |
edit_box.check_offset: |
pushad |
378,6 → 378,31 |
or word ed_flags,ed_offset_fl |
edit_ex |
align 4 |
proc edit_box_set_text, edit:dword, text:dword |
pushad |
mov edi,dword[edit] |
mov ecx,ed_max |
inc ecx ;ãç¨âë¢ ¥¬ ¡ã¤ã饥 ®¡à¥§ ¨¥ áâப¨ ¤«ï ascii 0 |
mov edi,dword[text] |
xor al,al |
cld |
repne scasb ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al |
mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text |
mov edi,dword[edit] |
mov esi,dword[text] |
sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max) |
dec ecx |
mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨ |
mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨ |
mov edi,ed_text |
repne movsb ;ª®¯¨à®¢ ¨¥ ⥪á⮢®© áâப¨ text ¢ edit_box |
mov byte[edi],0 ;áâ ¢¨¬ ascii 0 ¢ ª®æ¥ áâப¨ |
popad |
ret |
endp |
} |
macro use_key_func |