Subversion Repositories Kolibri OS

Rev

Rev 360 | Rev 383 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 360 Rev 366
Line 1... Line 1...
1
;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â CheckBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
1
;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â CheckBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
2
;Ž¯â¨¬¨§¨à®¢ ­ ¢ë¢®¤ áâப¨ ­ ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì, ¯à¨ ¯à®¢¥àª¥ ­¥ ¯à®¨á室¨â ¯®¤áç¥â ª®«-¢  ᨬ¢®«®¢ ¢ áâப¥
2
;Ž¯â¨¬¨§¨à®¢ ­ ¢ë¢®¤ áâப¨ ­ ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì, ¯à¨ ¯à®¢¥àª¥ ­¥ ¯à®¨á室¨â ¯®¤áç¥â ª®«-¢  ᨬ¢®«®¢ ¢ áâப¥
3
;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤ - ®âª § «áï ®â á®åà ­¥­¨ï ॣ¨áâ஢ ¢ á⥪¥.
3
;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤ - ®âª § «áï ®â á®åà ­¥­¨ï ॣ¨áâ஢ ¢ á⥪¥.
-
 
4
;21.02.2007 ¤®¡ ¢¨« ª®¤ ®â Heavyiron, ¤®¯¨á « ¬ ªà®áë ¤«ï ¨á¯®«ì§®¢ ­¨ï á¨á⥬­ëå 梥⮢
4
;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå 梥⮢ ¤«ï ®â®¡à ¦¥­¨ï checkbox
5
;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå 梥⮢ ¤«ï ®â®¡à ¦¥­¨ï checkbox
5
;17.07.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï, ¯à¨ ãáâ ­®¢ª¥ 祪 ¡®ªá  ¢ ¯®«®¦¥­¨¥ ¢ª«î祭® ¯®á«¥¤ãî騥 祪 ¡®ªáë ¢ â®â ¦¥ ¯à®¬¥¦ã⮪ ¢à¥¬¥­¨ ­¥ ¯à®¢¥àïîâáï
6
;17.07.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï, ¯à¨ ãáâ ­®¢ª¥ 祪 ¡®ªá  ¢ ¯®«®¦¥­¨¥ ¢ª«î祭® ¯®á«¥¤ãî騥 祪 ¡®ªáë ¢ â®â ¦¥ ¯à®¬¥¦ã⮪ ¢à¥¬¥­¨ ­¥ ¯à®¢¥àïîâáï
6
;22.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï ª®¬ ­¤, ¯à¨­ïâë ¢® ¢­¨¬ ­¨¥ § ¬¥ç ­¨ï DIAMOND' .
7
;22.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï ª®¬ ­¤, ¯à¨­ïâë ¢® ¢­¨¬ ­¨¥ § ¬¥ç ­¨ï DIAMOND' .
7
;  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
8
;  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
Line 8... Line 9...
8
 
9
 
9
macro use_check_box
10
macro version_ch           ;¤«ï ᮢ¬¥á⨬®á⨠ᮠáâ à묨 ¢¥àá¨ï¬¨ checkbox ¢á¥ æ¢¥â  § ¤ îâáï àã窠¬¨
-
 
11
{
10
{
12
ch_struc_size=24
11
ch_text_margin=4     ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ 
13
ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
-
 
14
ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
-
 
15
ch_color equ [edi+4]
-
 
16
ch_border_color equ [edi+8] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
-
 
17
ch_text_color equ   [edi+12];[edi+4]  ;梥â ⥪áâ 
-
 
18
ch_text_ptr equ [edi+16]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
-
 
19
ch_text_length equ [edi+20] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
-
 
20
ch_flags equ [edi+22]       ;ä« £¨ 
-
 
21
}
-
 
22
 
-
 
23
macro   version_ch1        ;¯à®¤¢¨­ãâ ï ¢¥àá¨ï, ¨á¯®«ì§ã¥â æ¢¥â  áª¨­ . 
-
 
24
{
12
ch_size=10           ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá  
25
ch_struc_size=12
13
ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
26
ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
-
 
27
ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
14
ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
28
ch_color equ [sc.work] ;
15
ch_border_color equ [sc.work_graph] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
29
ch_border_color equ [sc.work_graph] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
16
ch_text_color equ   [sc.work_text];[edi+4]  ;梥â ⥪áâ 
30
ch_text_color equ   [sc.work_text];[edi+4]  ;梥â ⥪áâ 
17
ch_text_ptr equ [edi+4]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
31
ch_text_ptr equ [edi+4]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨ 
18
ch_text_length equ [edi+8] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
32
ch_text_length equ [edi+8] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
-
 
33
ch_flags equ [edi+10]       ;ä« £¨ 
-
 
34
}
-
 
35
 
-
 
36
macro use_check_box
-
 
37
{
-
 
38
ch_text_margin=4     ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨ 
19
ch_flags equ [edi+10]       ;ä« £¨ 
39
ch_size=12           ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá  
20
check_box:
40
check_box:
21
.draw:
41
.draw:
22
pusha   ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
42
       pusha   ;á®åà ­¨¬ ¢á¥ ॣ¨áâàë
23
	mov	eax,38     	;à¨á®¢ ­¨¥ «¨­¨¨
43
       mov eax,13 
24
	movzx	ebx,word ch_left	;¯®«®¦¥­¨¥ ¯® å
-
 
25
	mov	ecx,ebx		;á®åà ­¨¬ ¢ ॣ¨áâॠcx §­ ç¥­¨¥ bx  1 ¬¨ªà®®¯¥à æ¨ï
-
 
26
	;push	bx  ;3 - ¬¨ªà®®¯¥à æ¨¨  ¨á¯®«ì§ãï á⥪ ¬®¦­® ¢ë¨£à âì ¢ à §¬¥à¥, ¨á¯®«ì§ãï ॣ¨áâàë - ¢ ᪮à®áâ¨
-
 
27
	shl	ebx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
-
 
28
	;pop	bx  ;2 - ¬¨ªà®®¯¥à æ¨¨  ­  ¤ ­­ë© ¬®¬¥­â áä®à¬¨à®¢ ­  [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ x]
-
 
29
	mov	bx,cx		;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ bx
-
 
30
	movzx	ecx,word ch_top	;§ £à㧨¬ ¢ cx §­ ç¥­¨¥ y
-
 
31
	mov	esi,ecx		;á®åà ­¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx ¢ ॣ¨áâà 㪠§ â¥«ì si				
-
 
32
	;push	cx
-
 
33
	shl	ecx,16		; ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)	mov	cx,si		;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx
-
 
34
	mov 	cx,si		;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx
-
 
35
	;pop	cx    	;[ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]*65536 + [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]
44
       mov ebx,ch_left 
36
	;push	cx       
-
 
37
	add	ecx,ch_size ;[ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ y]*65536 + [ª®®à¤¨­ â  ª®­æ  ¯® ®á¨ y]
-
 
38
	mov	edx,ch_border_color ;–¢¥â «¨­¨¨
-
 
39
	int	0x40   ;à¨á®¢ ­¨¥ ¢¥à⨪ «ì­®© «¥¢®© «¨­¨¨ ª¢ ¤à â  (¯àאַ㣮«ì­¨ª )
-
 
40
;
-
 
41
	mov	ebp,ebx	;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
-
 
42
	;push	bx   ;¢â®«ª­ãâì ¢ bx [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ å]*65536 + [ª®®à¤¨­ â  ­ ç «  ¯® ®á¨ x]
-
 
43
	add	ebx,ch_size      ;[ª®®à¤¨­ â  ­ ç «  + ¤«¨­  áâ®à®­ë ¯® ®á¨ å]
-
 
44
	ror	ebx,16          ;[ª®®à¤¨­ â  ­ ç «  + ¤¨­  áâ®à®­ë ¯® ®á¨ å]*65536
-
 
45
	add	ebx,ch_size      ;[ª®®à¤¨­ â  ­ ç « +¤«¨­  áâ®à®­ë ¯® ®á¨ å]*65536 + [ª®®à¤¨­ â  ­ ç « +¤«¨­  áâ®à®­ë ¯® ®á¨ x]
-
 
46
	int	0x40
-
 
47
	
-
 
48
	mov	bx,bp		;¢®ááâ ­®¢¨¬ §­ ç¥­¨¥ ॣ¨áâà  bx
45
       shl ebx,16 
49
	;pop	bx
-
 
50
	mov	cx,si		;á®åà ­¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx ¢ ॣ¨áâà 㪠§ â¥«ì
46
       add ebx,ch_size 
51
	;pop	cx
-
 
52
	int	0x40
-
 
53
	add	ecx,ch_size	;¤®¡ ¢¨¬ à §¬¥à áâ®à®­ë 
-
 
54
	mov	esi,ecx		;á®åà ­¨¬ §­ ç¥­¨¥ ॣ¨áâà  cx ¢ ॣ¨áâà 㪠§ â¥«ì si
-
 
55
	;push	cx
47
       mov ecx,ch_top 
56
	shl	ecx,16
48
       shl ecx,16 
57
	mov	cx,si
49
       add ecx,ch_size 
58
	;pop	cx
50
       mov edx,ch_border_color 
59
	int	0x40            ;­ à¨á®¢ «¨ ¯àאַ㣮«ì­¨ª
51
       int 0x40 ;à¨á㥬 à ¬ªã 
60
 
52
 
-
 
53
       mov edx,ch_color 
-
 
54
       add ebx,1 shl 16 - 2 
-
 
55
       add ecx,1 shl 16 - 2 
Line 61... Line 56...
61
	call	.clear_ch
56
       int 0x40 ;§ ªà è¨¢ ¥¬ ¢­ãâ७­®á⨠祪¡®ªá  
62
 
57
 
63
	test	word ch_flags,2  ;¤®áâ âì §­ ç¥­¨¥ ¡¨â  ¨§ ¯¥à¥¬¥­­®© ¨ ¯®¬¥áâ¨âì ¢  ä« £ CF 
58
       test word ch_flags,2  ;¤®áâ âì §­ ç¥­¨¥ ¡¨â  ¨§ ¯¥à¥¬¥­­®© ¨ ¯®¬¥áâ¨âì ¢  ä« £ CF 
64
	jz	@f		;¢ ¥á«¨ CF=1, â® ¢ë¯®«­¨¬ á«¥¤ãîéãî ¯à®æ¥¤ãàã ¨­ ç¥ ¯¥à¥©â¨ ­  ­¨¦­îî @@
59
       jz   @f                ;¢ ¥á«¨ CF=1, â® ¢ë¯®«­¨¬ á«¥¤ãîéãî ¯à®æ¥¤ãàã ¨­ ç¥ ¯¥à¥©â¨ ­  ­¨¦­îî @@
Line 81... Line 76...
81
	int	0x40          	;‚뢮¤ 
76
        int   0x40                  ;‚뢮¤ 
82
popa				;¢®ááâ ­®¢¨âì §­ ç¥­¨ï ॣ¨áâ஢ ¨§ á⥪ 
77
popa                              ;¢®ááâ ­®¢¨âì §­ ç¥­¨ï ॣ¨áâ஢ ¨§ á⥪ 
83
ret				;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë
78
ret                               ;¢ë©¤¥¬ ¨§ ¯à®æ¥¤ãàë
Line 84... Line 79...
84
 
79
 
85
.clear_ch:			;®ç¨á⪠ 祪 ¡®ªá 
80
.clear_ch:                        ;®ç¨á⪠ 祪 ¡®ªá 
86
	mov	edx,dword [sc.work]	;梥⠢­ãâਠ祪 ¡®ªá 
81
        mov   edx,ch_color   ;梥⠢­ãâਠ祪 ¡®ªá 
Line 87... Line 82...
87
	jmp	@f		;¡¥§ãá«®¢­ë© ¯à릮ª ­  ­¨¦­îî ¬¥âªã @@
82
        jmp   @f             ;¡¥§ãá«®¢­ë© ¯à릮ª ­  ­¨¦­îî ¬¥âªã @@
88
 
83
 
89
.draw_ch:            ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
84
.draw_ch:            ;­ à¨á®¢ âì ¢ª«î祭­ë© 祪 ¡®ªá
90
	mov	edx,ch_border_color	;§ £à㧨âì 梥â
85
        mov   edx,ch_border_color        ;§ £à㧨âì 梥â
91
@@:
86
@@:
92
	movzx	ebx,word ch_left	;§ £à㧨âì ª®®à¤¨­ âã ¯® å
87
        movzx ebx,word ch_left  ;§ £à㧨âì ª®®à¤¨­ âã ¯® å
93
	add	ebx,(ch_size/3)	;¤®¡ ¢¨âì (áâ®à®­  ¯àאַ㣮«ì­¨ª /3)
88
        add   ebx,(ch_size/4)   ;¤®¡ ¢¨âì (áâ®à®­  ¯àאַ㣮«ì­¨ª /3)
94
	shl	ebx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
89
        shl   ebx,16            ;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
95
	mov	bx,(ch_size/2)	;§ £à㧨âì (áâ®à®­  ¯àאַ㣮«ì­¨ª /2)
90
        mov   bx,(ch_size/2)    ;§ £à㧨âì (áâ®à®­  ¯àאַ㣮«ì­¨ª /2)
96
	mov	bp,bx		;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
91
        mov   bp,bx             ;á®åà ­¨¬ ॣ¨áâà bx ¢ ॣ¨áâॠ㪠§ â¥«ï ¡ §ë
97
	;push	bx
92
        ;push        bx
98
	movzx	ecx,word ch_top	;§ £à㧨âì ª®®à¤¨­ âã ¯® ã
93
        movzx ecx,word ch_top ;§ £à㧨âì ª®®à¤¨­ âã ¯® ã
99
	mov	eax,13		;¢ eax - §­ ç¥­¨ï ä㭪樨 ¤«ï ¢ë¢®¤  ¯®«®áë â.¥. ¯® áã⨠¯àאַ㣮«ì­¨ª , ª®â®àë© ®â®¡à ¦ ¥â ¢ª«î祭­ë© ª®¬¯®­¥­â 祪 ¡®ªá
94
        mov   eax,13          ;¢ eax - §­ ç¥­¨ï ä㭪樨 ¤«ï ¢ë¢®¤  ¯®«®áë â.¥. ¯® áã⨠¯àאַ㣮«ì­¨ª , ª®â®àë© ®â®¡à ¦ ¥â ¢ª«î祭­ë© ª®¬¯®­¥­â 祪 ¡®ªá
100
	add	ecx,(ch_size/3)	;¤®¡ ¢¨âì (áâ®à®­  ¯àאַ㣮«ì­¨ª /3)
95
        add   ecx,(ch_size/4) ;¤®¡ ¢¨âì (áâ®à®­  ¯àאַ㣮«ì­¨ª /3)
101
	shl	ecx,16		;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
96
        shl   ecx,16          ;ᤢ¨­¥¬ ­  16 à §à冷¢ ¢ «¥¢® (㬭®¦¨¬ ­  65536)
102
	mov	cx,bp		;§ £à㧨¬ §­ ç¥­¨ï ॣ¨áâà  ãª § â¥«ï ¡ §ë ¢ cx
-
 
103
	;pop	cx
97
        mov   cx,bp           ;§ £à㧨¬ §­ ç¥­¨ï ॣ¨áâà  ãª § â¥«ï ¡ §ë ¢ cx
104
	
98
        ;pop        cx
105
	int	0x40		;¢ë¢®¤
-
 
106
ret				;¢ë©â¨ ¨§ ¯à®æ¥¤ãàë
99
        int   0x40            ;¢ë¢®¤
107
 
100
ret                                ;¢ë©â¨ ¨§ ¯à®æ¥¤ãàë
108
.mouse:                 ;®¡à ¡®âª  ¬ëè¨ 
101
.mouse:      ;®¡à ¡®âª  ¬ëè¨ 
109
pusha
102
pusha
110
	mov	eax,37   	;¡ã¤¥¬ çâ® â® ¤¥« âì ¥á«¨ ã ­ á çâ® - ­¨âì ­ ¦ â®
103
        mov  eax,37           ;¡ã¤¥¬ çâ® â® ¤¥« âì ¥á«¨ ã ­ á çâ® - ­¨âì ­ ¦ â®
Line 157... Line 150...
157
.mouse_end:
150
.mouse_end:
158
popa				  ;¢®ááâ ­®¢¨âì ॣ¨áâàë ¨§ á⥪ 
151
popa                                ;¢®ááâ ­®¢¨âì ॣ¨áâàë ¨§ á⥪ 
159
ret				  ;¢ë©â¨
152
ret                                 ;¢ë©â¨
160
}
153
}
Line 161... Line 154...
161
 
154
 
162
struc check_box left,top,text,text_length,flags
155
struc check_box1 left,top,text,text_length,flags
163
{	;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
156
{        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
164
.left: dw left	;+0	;¯®«®¦¥­¨¥ ¯® å
157
.left: dw left      ;+0        ¯®«®¦¥­¨¥ ¯® å
165
.top: dw top	;+2	;¯®«®¦¥­¨¥ ¯® ã
-
 
166
;.border_color: dd border_color ;+8	梥â à ¬ª¨ 
-
 
167
;.text_color: dd text_color     ;+12	梥â ⥪áâ  ­ ¤¯¨á¨
158
.top: dw top        ;+2        ¯®«®¦¥­¨¥ ¯® ã
168
.text: dd text	     ;+16		 ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
159
.text: dd text      ;+16        ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâà
169
.text_length: dw text_length ; +20	¤«¨­  ⥪áâ 
160
.text_length: dw text_length ;+20       ¤«¨­  ⥪áâ 
170
.flags: dw flags+0   ;+22		ä« £¨
161
.flags: dw flags+0  ;+22            ä« £¨
-
 
162
}
-
 
163
struc check_box left,top,color,border_color,text_color,text,text_length,flags
-
 
164
{        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
-
 
165
.left: dw left      ;+0        ;¯®«®¦¥­¨¥ ¯® å
171
}
166
.top: dw top        ;¯®«®¦¥­¨¥ ¯® ã
-
 
167
.color: dd color    ;梥⠢­ãâਠ祪¡®ªá 
-
 
168
.border_color: dd border_color ;梥â à ¬ª¨
-
 
169
.text_color: dd text_color     ;梥⠭ ¤¯¨á¨
-
 
170
.text: dd text                 ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
-
 
171
.text_length: dw text_length   ;¤«¨­  ⥪áâ 
-
 
172
.flags: dw flags+0   ;+22        
172
ch_struc_size=12			;®¡é ï áâàãªâãà  24 ¡ ©â
173
}
-
 
174
ch_flag_en=10b
173
ch_flag_en=10b
175
 
174
macro draw_check_boxes start,end	;à¨á®¢ âì 祪 ¡®ªáë
176
macro draw_check_boxes start,end        ;à¨á®¢ âì 祪 ¡®ªáë
175
{
177
{
176
	mov	edi,start			;“ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
178
        mov  edi,start                       ;“ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
177
	mov	ecx,((end-start)/ch_struc_size) ;Š®«¨ç¥á⢮ 祪 ¡®ªá®¢
179
        mov  ecx,((end-start)/ch_struc_size) ;Š®«¨ç¥á⢮ 祪 ¡®ªá®¢
Line 187... Line 189...
187
@@:
189
@@:          
188
	call	check_box.mouse		;¯à®¢¥àª  ¬ë誨 ¨ ®¡à ¡®âª  ᮡë⨩
190
        call check_box.mouse     ;¯à®¢¥àª  ¬ë誨 ¨ ®¡à ¡®âª  ᮡë⨩
189
	add	edi,ch_struc_size	;“ª § â¥«ì ­  ¯®á«¥¤ãî騥 祪 ¡®ªáë
191
        add  edi,ch_struc_size   ;“ª § â¥«ì ­  ¯®á«¥¤ãî騥 祪 ¡®ªáë
190
	loop	@b	;¯à룭ãâì ¥á«¨ ¢ ecx/cx §­ ç¥­¨¥ ­¥ 0 ­  ¢¥àå­îî @@
192
        loop @b        ;¯à룭ãâì ¥á«¨ ¢ ecx/cx §­ ç¥­¨¥ ­¥ 0 ­  ¢¥àå­îî @@
191
}
193
}
192
194
;…᫨ ­ã¦­® ®â®¡à §¨âì ®¤¨­ 祪¥à 
-
 
195
macro draw_check_box start        ;à¨á®¢ âì 祪 ¡®ªáë
-
 
196
{
-
 
197
        mov  edi,start            ;“ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
-
 
198
        call check_box.draw       ;Žâ®¡à §¨âì 祪 ¡®ªá
-
 
199
}
-
 
200
macro mouse_check_box start       ;ãáâ ­®¢ª  祪 ¡®ªá®¢, ¢ § ¢¨á¨¬®á⨠®â ᮡëâ¨ï
-
 
201
{
-
 
202
        mov  edi,start            ; “ª § â¥«ì ­  ­ ç «® ¤ ­­ëå 祪 ¡®ªá®¢ â.¥. ­  ­ ç «® ¤ ­­ëå ¯¥à¢®£® 祪¡®ªá 
-
 
203
        call check_box.mouse      ;¯à®¢¥àª  ¬ë誨 ¨ ®¡à ¡®âª  ᮡë⨩
-
 
204
}
-
 
205
193
206