deleted file 'editbox_ex.mac' all programs

git-svn-id: svn://kolibrios.org@1373 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
IgorA 2010-01-09 22:01:26 +00:00
parent 64cdacca6e
commit 2aad33c4e5
18 changed files with 3964 additions and 4138 deletions

View File

@ -9,7 +9,7 @@ include '../proc32.inc'
include '../macros.inc' include '../macros.inc'
include '../dll.inc' include '../dll.inc'
include '../libio.inc' include '../libio.inc'
include 'editbox_ex.mac' include '../../../../../programs/develop/libraries/box_lib/trunk/box_lib.mac'
include '../network.inc' include '../network.inc'

View File

@ -1,77 +0,0 @@
ed_struc_size=72
struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,flags,size,pos
{
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Bit mask from editbox
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ed_figure_only= 1000000000000000b ;®¤­¨ ᨬ¢®«ë
ed_always_focus= 100000000000000b
ed_focus= 10b ;䮪ãá ¯à¨«®¦¥­¨ï
ed_shift_on= 1000b ;¥á«¨ ­¥ ãáâ ­®¢«¥­ -§­ ç¨â ¢¯¥à¢ë¥ ­ ¦ â shift,¥á«¨ ¡ë« ãáâ ­®¢«¥­, §­ ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift
ed_shift_on_off=1111111111110111b
ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ­ ¦ â¨¨ ­  shift â.¥. ¥á«¨ ­ ¦¨¬ î
ed_shift_off= 1111111111111011b
ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥­®£® shift â.¥. ¯à¨ ãáâ ­®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥­¨¥
ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠ ¯à¨ 㤠«¥­¨¨ ¢ë¤¥«¥­¨ï
ed_shift_cl= 1111111111100011b
ed_shift_mcl= 1111111111111011b
ed_left_fl= 100000b
ed_right_fl= 1111111111011111b
ed_offset_fl= 1000000b
ed_offset_cl= 1111111110111111b
ed_insert= 10000000b
ed_insert_cl= 1111111101111111b
ed_mouse_on = 100000000b
ed_mous_adn_b= 100011000b
ed_mouse_on_off=1111111011111111b
ed_height=14 ; ¢ëá®â 
.width dd width
.left dd left
.top dd top
.color dd color
.shift_color dd shift_color
.focus_border_color dd focus_border_color
.blur_border_color dd blur_border_color
.text_color dd text_color
.max dd max
.text dd text
.flags dd flags+0
.size dd size+0
.pos dd pos+0
.offset dd 0
.cl_curs_x dd 0
.cl_curs_y dd 0
.shift dd 0
.shift_old dd 0
}
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
{ ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
ch_flag_en=10b
.left: dw left ;+0 ;¯®«®¦¥­¨¥ ¯® å
.top: dw top ;¯®«®¦¥­¨¥ ¯® ã
.ch_text_margin: dd ch_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
.ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
.color: dd color ;梥⠢­ãâਠ祪¡®ªá 
.border_color: dd border_color ;梥â à ¬ª¨
.text_color: dd text_color ;梥⠭ ¤¯¨á¨
.text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
.ch_text_length: dd ch_text_length ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
.flags: dd flags+0 ; ä« £¨
}
struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
{ ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
op_flag_en=10b
.option_group: dd point_gr
.left: dw left ;+0 ;¯®«®¦¥­¨¥ ¯® å
.top: dw top ;¯®«®¦¥­¨¥ ¯® ã
.ch_text_margin: dd op_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
.ch_size: dd op_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
.color: dd color ;梥⠢­ãâਠ祪¡®ªá 
.border_color: dd border_color ;梥â à ¬ª¨
.text_color: dd text_color ;梥⠭ ¤¯¨á¨
.text: dd text ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
.ch_text_length: dd op_text_length ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
.flags: dd flags+0 ; ä« £¨
}

View File

@ -36,9 +36,9 @@ include '..\..\..\macros.inc'
purge add,sub ; macros.inc does incorrect substitution purge add,sub ; macros.inc does incorrect substitution
include 'fasm.inc' include 'fasm.inc'
include '..\..\..\develop\libraries\box_lib\trunk\editbox.mac' include '..\..\..\develop\libraries\box_lib\trunk\box_lib.mac'
include '..\..\..\develop\libraries\box_lib\trunk\checkbox.mac' ;include '..\..\..\develop\libraries\box_lib\trunk\editbox.mac'
;include '..\..\..\develop\libraries\box_lib\asm\trunk\editbox_ex.mac' ;include '..\..\..\develop\libraries\box_lib\trunk\checkbox.mac'
include '..\..\..\develop\libraries\box_lib\load_lib.mac' include '..\..\..\develop\libraries\box_lib\load_lib.mac'
@use_library @use_library

View File

@ -221,7 +221,7 @@ use32 ;
dd 0x0 ; óêàçàòåëü íà ñòðîêó ñ ïàðàìåòðàìè. dd 0x0 ; óêàçàòåëü íà ñòðîêó ñ ïàðàìåòðàìè.
dd cur_dir_path dd cur_dir_path
include 'macros.inc' include 'macros.inc'
include 'editbox_ex.mac' include 'box_lib.mac'
include 'load_lib.mac' include 'load_lib.mac'
@use_library ;use load lib macros @use_library ;use load lib macros
start: start:

View File

@ -40,7 +40,7 @@ dd path
include '../../../../../macros.inc' include '../../../../../macros.inc'
include '../../load_lib.mac' include '../../load_lib.mac'
include 'editbox_ex.mac' include '../../trunk/box_lib.mac'
;include 'macros.inc' ;include 'macros.inc'
;include 'load_lib.mac' ;include 'load_lib.mac'
@use_library @use_library

View File

@ -13,7 +13,7 @@ use32 ;
include '../../../../../macros.inc' include '../../../../../macros.inc'
include 'editbox_ex.mac' include '../../trunk/box_lib.mac'
include '../../load_lib.mac' include '../../load_lib.mac'
@use_library ;use load lib macros @use_library ;use load lib macros
start: start:

View File

@ -1,21 +0,0 @@
include '../../trunk/editbox.mac'
include '../../trunk/checkbox.mac'
include '../../trunk/optionbox.mac'
macro get_sys_colors col_buf
{
;mov eax,48
push 48
pop eax
;mov ebx,3
push 3
pop ebx
;mov ecx,col_buf
push col_buf
pop ecx
;mov edx,40
push 40
pop edx
mcall
}

View File

@ -3,7 +3,7 @@
;Checkbox ;Checkbox
ch_struc_size=36 ch_struc_size=36
ch_flag_en=10b ch_flag_en=10b ;ýëåìåíò âûáðàí
ch_left equ [edi] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å ch_left equ [edi] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
ch_top equ [edi+2] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã ch_top equ [edi+2] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
@ -18,33 +18,23 @@ ch_flags equ [edi+32] ;䫠
macro check_boxes_set_sys_color start,end,color_table macro check_boxes_set_sys_color start,end,color_table
{ {
ch_left equ [edi] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
ch_top equ [edi+2] ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
ch_text_margin equ [edi+4] ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
ch_size equ [edi+8] ;12 à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
ch_color equ [edi+12] ;梥⠢­ãâਠcheckbox
ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
ch_text_color equ [edi+20];[edi+4] ;梥â ⥪áâ 
ch_text_ptr equ [edi+24] ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
ch_text_length equ [edi+28]
ch_flags equ [edi+32] ;ä« £¨
mov edi,start mov edi,start
mov ecx,((end-start)/ch_struc_size) mov ecx,((end-start)/ch_struc_size)
mov esi,color_table mov esi,color_table
@@: @@:
push dword [esi+32] ; push dword [esi+20] ;梥â à ¡®ç¥© ®¡« á⨠®ª­ 
; pop dword ch_color
push dword [esi+32] ;梥â ⥪áâ  ¢ à ¡®ç¥© ®¡« á⨠®ª­ 
pop dword ch_text_color pop dword ch_text_color
push dword [esi+36] push dword [esi+36] ;梥⠣à ä¨ª¨ ¢ ®ª­¥ (à §¤¥«¨â¥«ì­ë¥ «¨­¨¨ ¨ â.¯.)
pop dword ch_border_color pop dword ch_border_color
add edi,ch_struc_size add edi,ch_struc_size
loop @b loop @b
} }
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
{ ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá  { ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
ch_flag_en=10b .left: dw left ;+0 ¯®«®¦¥­¨¥ ¯® å
.left: dw left ;+0 ;¯®«®¦¥­¨¥ ¯® å .top: dw top ;+2 ¯®«®¦¥­¨¥ ¯® ã
.top: dw top ;¯®«®¦¥­¨¥ ¯® ã
.ch_text_margin: dd ch_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ .ch_text_margin: dd ch_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
.ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12 .ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
.color: dd color ;梥⠢­ãâਠ祪¡®ªá  .color: dd color ;梥⠢­ãâਠ祪¡®ªá 

View File

@ -0,0 +1,71 @@
<html>
<head>
<title>áèáëèîòåêà boxlib</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<style>
body
{
font-size: 15px;
font-family: "Bookman Old Style";
color: black;
text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
text-indent: 1em;
margin-top: 3px;
margin-bottom: 2px;
margin-left: 0px;
margin-right: 0px;
}
ol, ul, dl{
margin-top: 3px;
margin-bottom: 2px;
}
pre
{
padding: 2px;
padding-left: 20px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
margin-right: 0px;
font-family: "Courier New";
font-size: 15px;
color: #004000;
background-color: #ffd0ff;
}
table { font-size: 15px; }
</style>
</head>
<body>
<h1>Îãëàâëåíèå</h1>
<p><a href="#vveden">Ââåäåíèå</a></p>
<p><a href="#elements">Ýëåìåíòû áèáëèîòåêè</a></p>
<h1><a name="vveden">Ââåäåíèå</a></h1>
<p>Áèáëèîòåêà <b>box_lib.obj</b> ñîäåðæèò ðàçíûå ýëåìåíòû óïðàâëåíèÿ, êîòîðûå ìîæíî
èñïîëüçîâàòü ïðè íàïèñàíèè ïðèëîæåíèé. Ôàéë <b>box_lib.mac</b> ïîäêëþ÷àåò ìàêðîñû
äëÿ êîìïèëÿöèè áèáëèîòåêè è äëÿ èñïîëüçîâàíèÿ ýëåìåíòîâ.</p>
<h1><a name="elements">Ýëåìåíòû áèáëèîòåêè</a></h1>
<ul>
<li><a href="editbox\info_editbox.htm">editbox</a></li>
<li>checkbox</li>
<li>optionbox</li>
<li>scrollbar</li>
<li>d_button</li>
<li>menubar</li>
<li>filebrowser</li>
<li><a href="tree_list\info_treelist.htm">tree_list</a></li>
</ul>
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 09.01.10.</p>
</body>
</html>

View File

@ -0,0 +1,109 @@
<html>
<head>
<title>ýëåìåíò Edit Box</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<style>
body
{
font-size: 15px;
font-family: "Bookman Old Style";
color: black;
text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
text-indent: 1em;
margin-top: 3px;
margin-bottom: 2px;
margin-left: 0px;
margin-right: 0px;
}
ol, ul, dl{
margin-top: 3px;
margin-bottom: 2px;
}
pre
{
padding: 2px;
padding-left: 20px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
margin-right: 0px;
font-family: "Courier New";
font-size: 15px;
color: #004000;
background-color: #ffd0ff;
}
table { font-size: 15px; }
</style>
</head>
<body>
<h1>Îãëàâëåíèå</h1>
<p><a href="#vveden">Ââåäåíèå</a></p>
<p><a href="#funct">Ôóíêöèè</a></p>
<ul>
<li><a href="#fun_key">edit_box_key</a></li>
<li><a href="#fun_mouse">edit_box_mouse</a></li>
<li><a href="#version">version_ed</a></li>
</ul>
<p><a href="#struc_editbox">Ñòðóêòóðà editbox</a></p>
<p><a href="#editbox_styles">Ñòèëè ýëåìåíòà</a></p>
<h1><a name="vveden">Ââåäåíèå</a></h1>
<p>Òåêñòîâîå ïîëå, èñïîëüçóåòñÿ ïðè ââîäå òåêñòîâîé/÷èñëîâîé èíôîðìàöèè.</p>
<h1><a name="funct">Ôóíêöèè</a></h1>
<h2><a name="fun_key">edit_box_key</a></h2>
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ ïðè ââîäå èíôîðìàöèè ñ êëàâèàòóðû.</p>
<h2><a name="fun_mouse">edit_box_mouse</a></h2>
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòñÿ ïðè ââîäå èíôîðìàöèè ñ ìûøè.</p>
<h2><a name="version">version_ed</a></h2>
<p>Âåðñèÿ ýëåìåíòà</p>
<h1><a name="struc_editbox">Ñòðóêòóðà editbox</a></h1>
<pre>struc edit_box width,left,top,color,shift_color,focus_border_color,\
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
{
.width dd width
.left dd left
.top dd top
.color dd color
.shift_color dd shift_color
.focus_border_color dd focus_border_color
.blur_border_color dd blur_border_color
.text_color dd text_color
.max dd max
.text dd text
.mouse_variable dd mouse_variable
.flags dd flags+0
.size dd size+0
.pos dd pos+0
.offset dd 0
.cl_curs_x dd 0
.cl_curs_y dd 0
.shift dd 0
.shift_old dd 0
}</pre>
<p><b>width</b> - øèðèíà ýëåìåíòà.</p>
<p><b>left</b> - îòñòóï ñëåâà.</p>
<h1><a name="editbox_styles">Ñòèëè ýëåìåíòà</a></h1>
<h2>ed_figure_only</h2>
<p>Ðàçðåøàåòñÿ ââîä ÷èñåë îò 0 äî 9.</p>
<h2>ed_focus</h2>
<p>Òåêñòîâîå ïîëå â ôîêóñå.</p>
<hr>
<p>Äîêóìåíòàöèÿ îáíîâëÿëàñü ïîñëåäíèé ðàç 09.01.10.</p>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -1,271 +0,0 @@
<html>
<head>
<title>элемент Tree List</title>
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251">
<style>
body
{
font-size: 15px;
font-family: "Bookman Old Style";
color: black;
text-align: justify;
}
h1 { color: green; font-size: 23px; }
h2 { color: green; font-size: 21px; }
h3 { color: green; font-size: 19px; }
h4 { color: #803f00; font-size: 17px; }
i { color: #0099cc; }
b { color: #0099cc; }
p {
text-indent: 1em;
margin-top: 3px;
margin-bottom: 2px;
margin-left: 0px;
margin-right: 0px;
}
ol, ul, dl{
margin-top: 3px;
margin-bottom: 2px;
}
pre
{
padding: 2px;
padding-left: 20px;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 0px;
margin-right: 0px;
font-family: "Courier New";
font-size: 15px;
color: #004000;
background-color: #ffd0ff;
}
table { font-size: 15px; }
</style>
</head>
<body>
<h1>Оглавление</h1>
<p><a href="#vveden">Введение</a></p>
<p><a href="#funct">Функции</a></p>
<ul>
<li><a href="#fun_init">tl_data_init</a></li>
<li><a href="#fun_clear1">tl_data_clear</a></li>
<li><a href="#fun_clear2">tl_info_clear</a></li>
<li><a href="#fun_key">tl_key</a></li>
<li><a href="#fun_mouse">tl_mouse</a></li>
<li><a href="#fun_draw">tl_draw</a></li>
<li><a href="#fun_undo">tl_info_undo</a></li>
<li><a href="#fun_redo">tl_info_redo</a></li>
<li><a href="#fun_add">tl_node_add</a></li>
<li><a href="#fun_set_d">tl_node_set_data</a></li>
<li><a href="#fun_get_d">tl_node_get_data</a></li>
<li><a href="#fun_delete">tl_node_delete</a></li>
<li>tl_cur_beg</li>
<li>tl_cur_next</li>
<li>tl_cur_perv</li>
<li>tl_node_close_open</li>
<li>tl_node_lev_inc</li>
<li>tl_node_lev_dec</li>
<li>tl_node_move_up</li>
<li>tl_node_move_down</li>
<li>tl_node_poi_get_info</li>
<li>tl_node_poi_get_next_info</li>
<li>tl_node_poi_get_data</li>
<li><a href="#fun_sme">tl_save_mem</a></li>
<li><a href="#fun_lme">tl_load_mem</a></li>
<li><a href="#fun_gme">tl_get_mem_size</a></li>
<li><a href="#version">version_tree_list</a></li>
</ul>
<p><a href="#struc_tree_list">Структура tree_list</a></p>
<p><a href="#tree_list_styles">Стили элемента</a></p>
<h1><a name="vveden">Введение</a></h1>
<p>Внешний вид элемента управления TreeList:</p>
<p><img src="window_tree_list.png"></p>
<p>Рис. 1. Окно программы с элементом TreeList</p>
<h1><a name="funct">Функции</a></h1>
<h2><a name="fun_init">tl_data_init</a></h2>
<p>Конструктор элемента, нужно вызывать перед использованием элемента для выделения памяти и других настроек.</p>
<h2><a name="fun_clear1">tl_data_clear</a></h2>
<p>Деструктор элемента, чистит память по указателям: <b>data_info</b>, <b>data_nodes</b>, <b>data_img</b> и <b>data_img_sys</b>. Если в программе используется <i>несколько элементов с одинаковыми иконками</i>, то указатели data_img и data_img_sys нужно приравнять к 0 в других элементах, так что-бы при вызове деструкторов не было повторного удаления одних и тех же иконок.</p>
<h2><a name="fun_clear2">tl_info_clear</a></h2>
<p>Очистка списка от всех узлов. Это действие нельзя отменить функцией <b>tl_info_undo</b>.</p>
<h2><a name="fun_key">tl_key</a></h2>
<p>Функция которую нужно вызывать при нажатии на клавиатуру.
Кнопки, которые не доступны если есть стиль <i>tl_key_no_edit</i>: [<b>Enter</b>], [<b>Delete</b>], [<b>&larr;</b>], [<b>&rarr;</b>].
Всегда доступны: [<b>&uarr;</b>], [<b>&darr;</b>], [<b>Page Up</b>], [<b>Page Dn</b>], [<b>Space</b>].
Функция проверяет включен ли режим scan кодов, и в случае необходимости сама преобразует коды.</p>
<h2><a name="fun_mouse">tl_mouse</a></h2>
<p>Функция для событий от мыши.</p>
<h2><a name="fun_draw">tl_draw</a></h2>
<p>Полная перерисовка окна элемента.</p>
<h2><a name="fun_undo">tl_info_undo</a></h2>
<p>Отменяет добавление узлов. Действует только на весь узел целиком, не учитывая изменения внутри узлов. Т. е. нельзя отменить действия выполненные например функциями: <b>tl_node_set_data</b>, <b>tl_node_lev_inc</b> и им подобным.</p>
<h2><a name="fun_redo">tl_info_redo</a></h2>
<p>Повтор отмененных действий. Обратная функция по отношению к <b>tl_info_undo</b>.</p>
<h2><a name="fun_add">tl_node_add</a></h2>
<p>Добавляет узел, в позицию указанную курсором. Пример добавления узла:</p>
<pre> push dword tree1
push dword 0x10002
push dword data_buffer
call dword[tl_node_add]</pre>
<p>где: <b>tree1</b> - структура tree_list;
<b>0x10002</b> - параметры узла (старшие байты 0x0001 - индекс иконки, отображаемой возле узла; меньший байт 0x02 - уровень вложености узла); <b>data_buffer</b> - указатель на дынные, добавляемые в узел.</p>
<h2><a name="fun_set_d">tl_node_set_data</a></h2>
<p>Устанавливает новые данные (пользовательские и подпись) в узел под курсором.</p>
<h2><a name="fun_get_d">tl_node_get_data</a></h2>
<p>Берет указатель на данные (пользовательские и подпись) из узла под курсором.</p>
<h2><a name="fun_delete">tl_node_delete</a></h2>
<p>Удаляет узел, но не окончательно, при необходимости узел можно вернуть функцией <b>tl_info_undo</b>.</p>
<h2>tl_cur_beg</h2>
<p>Ставит курсор в начало списка, перематывает скроллинг если нужно.</p>
<h2>tl_cur_next</h2>
<p>Переносит курсор ниже.</p>
<h2>tl_cur_perv</h2>
<p>Переносит курсор выше.</p>
<h2>tl_node_close_open</h2>
<p>Открывает или закрывает родительский узел. Если у узла нет дочерних элементов,
то ничего не делает. Автоматически перерисовывает окно если состояние узла изменилось.</p>
<h2>tl_node_lev_inc</h2>
<p>Добавить уровень узла под курсором. Делает узел дочерним.</p>
<h2>tl_node_lev_dec</h2>
<p>Уменьшает уровень узла под курсором. Делает узел родительским.</p>
<h2>tl_node_move_up</h2>
<p>Перемещает вверх узел под курсором. Вместе с узлом двигается также и курсор. Пример использования функции:</p>
<pre> push dword tree1
call dword[tl_node_move_up] ;переместить узел</pre>
<p>где: <b>tree1</b> - структура tree_list</p>
<h2>tl_node_move_down</h2>
<p>Перемещает вниз узел под курсором. Вместе с узлом двигается также и курсор. Пример использования функции:</p>
<pre> push dword tree1
call dword[tl_node_move_down] ;переместить узел</pre>
<p>где: <b>tree1</b> - структура tree_list</p>
<h2>tl_node_poi_get_info</h2>
<p>Берет внутренний указатель на структуру описывающую узел.</p>
<h2>tl_node_poi_get_next_info</h2>
<p>Берет указатель на следующий элемент в цепи, без учета открытия/закрытия дочерних узлов.</p>
<h2>tl_node_poi_get_data</h2>
<p>Берет указатель на данные (пользовательские и подпись) из узла указанного в указателе.</p>
<p>Функциями tl_node_poi_get_info, tl_node_poi_get_next_info и tl_node_poi_get_data можно считывать информацию о узлах элемента, при этом не меняя текущего положения курсора. Т. е. можно организовать доступ к даным элемента в &quot;фоновом режиме&quot;.</p>
<h2><a name="fun_sme">tl_save_mem</a></h2>
<p>Сохраняет информацию об узлах элемента в память. Пример использования функции:</p>
<pre> MEM_SIZE equ 5000
node_data rb MEM_SIZE
.........
push dword tree1
push dword 0
push dword node_data
push dword MEM_SIZE
call dword[tl_save_mem]
pop eax</pre>
<p>где: <b>tree1</b> - структура tree_list;
<b>0</b> - опция сохранения в начало блока памяти (если = 1, то добавляет элемент после других сохраненных ранее);
<b>node_data</b> - указатель на блок памяти;
<b>MEM_SIZE</b> - размер блока памяти для сохранения.
В регистр <b>eax</b> пишется значение 0 или записываются коды ошибок сохранения.</p>
<h2><a name="fun_lme">tl_load_mem</a></h2>
<p>Загружает информацию об узлах элемента из памяти. Пример использования функции:</p>
<pre> MEM_SIZE equ 5000
node_data rb MEM_SIZE
.........
push dword tree1
push dword 0
push dword node_data
push dword MEM_SIZE
call dword[tl_load_mem]
pop eax</pre>
<p>где: <b>tree1</b> - структура tree_list;
<b>0</b> - индекс считываемого элемента;
<b>node_data</b> - указатель на блок памяти;
<b>MEM_SIZE</b> - размер блока памяти для сохранения.
В регистр <b>eax</b> пишется значение 0 или записываются коды ошибок считывания.</p>
<h2><a name="fun_gme">tl_get_mem_size</a></h2>
<p>Вычисляет размер блока памяти (в который были раньше сохранены элементы).</p>
<h2><a name="version">version_tree_list</a></h2>
<p>Версия элемента</p>
<h1><a name="struc_tree_list">Структура tree_list</a></h1>
<pre>struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
info_capt_len,el_focus, p_scrol,on_press {
.data_info dd 0
.info_size dw info_size
.info_max_count dd info_max_count
.style dd style
.data_nodes dd 0
.data_img dd 0
.img_cx dw img_cx
.img_cy dw img_cy
.data_img_sys dd 0
.ch_tim dd 0
.ls_tim dd 0
.tim_undo dd 0
.cur_pos dd 0
.col_bkg dd col_bkg
.col_zag dd col_zag
.col_txt dd col_txt
.box_left dd box_l
.box_top dd box_t
.box_width dd box_w
.box_height dd box_h
.capt_cy dw capt_cy
.info_capt_offs dw info_capt_offs
.info_capt_len dw info_capt_len
.el_focus dd el_focus
.p_scrol dd p_scrol
rb 4
.on_activate dd 0
.on_press dd on_press
}</pre>
<p><b>info_size</b> - количество байт, которое будет выделено для каждого узла. Часть этой памяти пользователь может использовать для своих целей (регулируется через <i>info_capt_offs</i> и <i>info_capt_len</i> см. рис. 2) а остальная часть будет использована как подпись узла.</p>
<p><b>info_max_count</b> - максимальное количество узлов, которые можно добавить в элемент.</p>
<p><b>style</b> - стили элемента.</p>
<p><b>data_nodes</b> - указатель на внутренние структуры узлов (<i>TreeList</i>).</p>
<p><b>data_img</b> - указатель на изображения с иконками узлов.</p>
<p><b>data_img_sys</b> - указатель на системные изображения (курсор, плюсики, линии, ... все кроме иконок узлов).</p>
<p><b>capt_cy</b> - высота строки для подписи вверху элемента, если меньше 9 подпись не выводится.</p>
<p><b>info_capt_len</b> - длинна текста для подписи. Если равно 0, то длинна считается так: <i>info_size - info_capt_offs</i>.</p>
<p><b>p_scrol</b> - указатель на структуру скроллинга, связанного с данным элементом.</p>
<p><b>on_press</b> - указатель на функцию, которая будет вызвана при нажитии [<b>Enter</b>]. Если указатель равен 0 то ничего не будет вызыватся.</p>
<p><img src="info_size.png"></p>
<p>Рис. 2. Параметры <i>info_size</i>, <i>info_capt_offs</i> и <i>info_capt_len</i> в узле</p>
<p>Пример создания структуры:</p>
<pre>tree1 tree_list 24,500, tl_draw_par_line+tl_list_box_mode, 16,16,\
0x8080ff,0x0000ff,0xffffff, 10,35,200-16,285, 14,4,0,\
el_focus, wScr,fun_on_enter</pre>
<h1><a name="tree_list_styles">Стили элемента</a></h1>
<h2>tl_key_no_edit</h2>
<p>Элемент нельзя редактировать на клавиатуре (изменять уровни, удалять). Ставьте этот стиль если нужно создать элемент только для просмотра данных.</p>
<h2>tl_draw_par_line</h2>
<p>Рисовать линии к родительскому узлу.</p>
<h2>tl_list_box_mode</h2>
<p>Стиль не отображает уровни (как в ListBox все узлы одного уровня).</p>
<hr>
<p>Документация обновлялась последний раз 23.12.09.</p>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -37,7 +37,7 @@ use32 ;
dd 0x0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨. dd 0x0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
dd way_of_ini dd way_of_ini
include '../../../../macros.inc' include '../../../../macros.inc'
include '../../box_lib/asm/trunk/editbox_ex.mac' include '../../box_lib/trunk/box_lib.mac'
include '../../box_lib/load_lib.mac' include '../../box_lib/load_lib.mac'
@use_library ;use load lib macros @use_library ;use load lib macros
start: start:

View File

@ -6,7 +6,7 @@
title equ 'Screenshooter v 0.92' ; ‡ £®«®¢®ª ®ª­  title equ 'Screenshooter v 0.92' ; ‡ £®«®¢®ª ®ª­ 
include '../../develop/libraries/box_lib/load_lib.mac' include '../../develop/libraries/box_lib/load_lib.mac'
include '../../develop/libraries/box_lib/asm/trunk/editbox_ex.mac' include '../../develop/libraries/box_lib/trunk/box_lib.mac'
;include '../../develop/examples/editbox/trunk/editbox.inc' ;include '../../develop/examples/editbox/trunk/editbox.inc'
include '../../macros.inc' include '../../macros.inc'
include 'txtbut.inc' include 'txtbut.inc'
@ -38,6 +38,24 @@ include 'scrsavef.inc';
include 'gp.inc' include 'gp.inc'
include 'srectwin.inc' include 'srectwin.inc'
include 'lang.inc' include 'lang.inc'
macro get_sys_colors col_buf
{
;mov eax,48
push 48
pop eax
;mov ebx,3
push 3
pop ebx
;mov ecx,col_buf
push col_buf
pop ecx
;mov edx,40
push 40
pop edx
mcall
}
;--- ­ ç «® ¯à®£à ¬¬ë --- ;--- ­ ç «® ¯à®£à ¬¬ë ---
align 4 align 4
start: start:

View File

@ -22,7 +22,7 @@
include 'lang.inc' include 'lang.inc'
include '../../../macros.inc' include '../../../macros.inc'
include '../../../develop/libraries/box_lib/asm/trunk/editbox_ex.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../develop/libraries/box_lib/load_lib.mac' include '../../../develop/libraries/box_lib/load_lib.mac'
display_processes=32 ; number of processes to show display_processes=32 ; number of processes to show
@use_library ;use load lib macros @use_library ;use load lib macros

View File

@ -27,7 +27,7 @@ version equ '1.2'
;include '..\..\..\develop\examples\editbox\trunk\editbox.inc' ;include '..\..\..\develop\examples\editbox\trunk\editbox.inc'
include '../../../develop/libraries/box_lib/load_lib.mac' include '../../../develop/libraries/box_lib/load_lib.mac'
include '../../../develop/libraries/box_lib/asm/trunk/editbox_ex.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
@use_library @use_library
;use_edit_box ;use_edit_box

View File

@ -8,7 +8,7 @@ window_x=640
;--- ¤à㣨¥ ¬ ªà®áë --- ;--- ¤à㣨¥ ¬ ªà®áë ---
;include '../../../develop/examples/editbox/trunk/editbox.inc' ;include '../../../develop/examples/editbox/trunk/editbox.inc'
include '../../../develop/libraries/box_lib/load_lib.mac' include '../../../develop/libraries/box_lib/load_lib.mac'
include '../../../develop/libraries/box_lib/asm/trunk/editbox_ex.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
;include 'editbox.inc' ;include 'editbox.inc'
include 'txtbut.inc' include 'txtbut.inc'
include '../../../macros.inc' include '../../../macros.inc'
@ -278,10 +278,17 @@ system_path db '/sys/lib/'
library_name db 'box_lib.obj',0 library_name db 'box_lib.obj',0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
if lang eq ru
err_message_found_lib db 'Žè¨¡ª  ¯à¨ ¯®¨áª¥ box_lib.obj',0
head_f_i:
head_f_l db '‘¨á⥬­ ï ®è¨¡ª ',0
err_message_import db 'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠box_lib.obj',0
else
err_message_found_lib db 'Sorry I cannot load library box_lib.obj',0 err_message_found_lib db 'Sorry I cannot load library box_lib.obj',0
head_f_i: head_f_i:
head_f_l db 'System error',0 head_f_l db 'System error',0
err_message_import db 'Error on load import library box_lib.obj',0 err_message_import db 'Error on load import library box_lib.obj',0
end if
myimport: myimport: