Rev 1720 | Rev 8346 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1720 | Rev 6789 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;Ïîñëåäíàÿ ìîäèôèêàöèÿ 03.10.2010 |
1 | ;Ïîñëåäíàÿ ìîäèôèêàöèÿ 07.12.2016 |
2 | ;ôàéë ñîçäàí 13.02.2009 |
2 | ;ôàéë ñîçäàí 13.02.2009 |
3 | ;Ìàêðîñ äëÿ ñèñòåìíîé áèáëèîòåêè box_lib.obj |
- | |
4 | ;Checkbox |
3 | ;Checkbox |
Line 5... | Line 4... | ||
5 | 4 | ||
6 | ;Èíèöèàëèçàöèÿ checkbox |
5 | ;Èíèöèàëèçàöèÿ checkbox |
7 | macro _init_checkbox2 |
- | |
8 | { |
6 | align 16 |
9 | init_checkbox2: |
7 | init_checkbox2: |
10 | ;ïîäñ÷èòàåì êîë-âî ñèìâîëîâ â äëèííå âûâîäèìîé ñòðîêè. |
8 | ;ïîäñ÷èòàåì êîë-âî ñèìâîëîâ â äëèííå âûâîäèìîé ñòðîêè. |
11 | pushad |
9 | pushad |
12 | mov ebp,dword [esp+36] ;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå |
10 | mov ebp,dword [esp+36] ;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå |
Line 25... | Line 23... | ||
25 | mov dword 2ch_sz_str,ebx ;çàïèøåì äëèííó ñòðîêè ñ ó÷åòîì îòñòóïà îò êâàäðàòèêà |
23 | mov dword 2ch_sz_str,ebx ;çàïèøåì äëèííó ñòðîêè ñ ó÷åòîì îòñòóïà îò êâàäðàòèêà |
26 | or dword 2ch_text_color,0x80000000 ;äîáàâëÿåì áèò äëÿ âûâîäà ASCIIZ-ñòðîêè |
24 | or dword 2ch_text_color,0x80000000 ;äîáàâëÿåì áèò äëÿ âûâîäà ASCIIZ-ñòðîêè |
27 | ;íà ñëó÷àé åñëè ïîëüçîâàòåëü çàáûë åãî ñàìîñòîÿòåëüíî ïîñòàâèòü â ñòðóêòóðå |
25 | ;íà ñëó÷àé åñëè ïîëüçîâàòåëü çàáûë åãî ñàìîñòîÿòåëüíî ïîñòàâèòü â ñòðóêòóðå |
28 | popad |
26 | popad |
29 | ret 4 |
27 | ret 4 |
30 | } |
- | |
Line 31... | Line -... | ||
31 | - | ||
32 | macro use_checkbox_draw2 |
28 | |
- | 29 | ||
33 | { |
30 | align 16 |
34 | check_box_draw2: |
31 | check_box_draw2: |
35 | pushad ;ñîõðàíèì âñå ðåãèñòðû |
32 | pushad ;ñîõðàíèì âñå ðåãèñòðû |
36 | mov ebp,dword [esp+36] ;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå |
33 | mov ebp,dword [esp+36] ;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå |
Line 37... | Line 34... | ||
37 | mcall 13,2ch_left_s,2ch_top_s,2ch_border_color ;ðèñóåì ðàìêó ÷åê áîêñà, ôàêòè÷åñêè ðèñóåì ïðÿìîóãîëüíèê è çàêðàøèâàåì ôîí âíóòðè öâåòîì ðàìêè áîêñà |
34 | mcall SF_DRAW_RECT,2ch_left_s,2ch_top_s,2ch_border_color ;ðèñóåì ðàìêó ÷åê áîêñà, ôàêòè÷åñêè ðèñóåì ïðÿìîóãîëüíèê è çàêðàøèâàåì ôîí âíóòðè öâåòîì ðàìêè áîêñà |
38 | 35 | ||
39 | mov edx,dword 2ch_color ;çàãðóæàåì öâåò ôîíà |
36 | mov edx,dword 2ch_color ;çàãðóæàåì öâåò ôîíà |
40 | add ebx,1 shl 16 - 2 |
37 | add ebx,1 shl 16 - 2 |
Line 81... | Line 78... | ||
81 | mov bx,ax |
78 | mov bx,ax |
82 | ;ebx õ shl 16 +y êîîðäèíàòû âûâîäà ñòðî÷êè |
79 | ;ebx õ shl 16 +y êîîðäèíàòû âûâîäà ñòðî÷êè |
Line 83... | Line 80... | ||
83 | 80 | ||
84 | mov ecx,dword 2ch_text_color ;çàãðóçèì öâåò íàäïèñè + flags |
81 | mov ecx,dword 2ch_text_color ;çàãðóçèì öâåò íàäïèñè + flags |
85 | mov edx,dword 2ch_text_ptr ;óêàæåì àäðåñ îò êóäà íóæíî âûâîäèòü ñòðîêó |
82 | mov edx,dword 2ch_text_ptr ;óêàæåì àäðåñ îò êóäà íóæíî âûâîäèòü ñòðîêó |
86 | mcall 4 ;Âûâîä |
83 | mcall SF_DRAW_TEXT |
87 | popad ;âîññòàíîâèòü çíà÷åíèÿ ðåãèñòðîâ èç ñòåêà |
84 | popad ;âîññòàíîâèòü çíà÷åíèÿ ðåãèñòðîâ èç ñòåêà |
Line 88... | Line 85... | ||
88 | ret 4 ;âûéäåì èç ïðîöåäóðû è óäàëèì èç ñòåêà óêàçàòåëü íà ñòðóêòóðó (4 áàéòà) |
85 | ret 4 ;âûéäåì èç ïðîöåäóðû è óäàëèì èç ñòåêà óêàçàòåëü íà ñòðóêòóðó (4 áàéòà) |
89 | 86 | ||
Line 96... | Line 93... | ||
96 | ;Îòîáðàçèòü âêëþ÷åíûé checkbox |
93 | ;Îòîáðàçèòü âêëþ÷åíûé checkbox |
97 | mov ebx,dword 2ch_left_s ;çàãðóæàåì õ shl 16 + äëèííà ïî Õ |
94 | mov ebx,dword 2ch_left_s ;çàãðóæàåì õ shl 16 + äëèííà ïî Õ |
98 | mov ecx,dword 2ch_top_s ;çàãðóæàåì Y shl 16 + äëèííà ïî Y |
95 | mov ecx,dword 2ch_top_s ;çàãðóæàåì Y shl 16 + äëèííà ïî Y |
99 | add ebx,2 shl 16 - 4 ;ïîñëå ýòèõ èçìåíåíèé (X+2) shl 16 +äëèííà ïî (Õ-2) |
96 | add ebx,2 shl 16 - 4 ;ïîñëå ýòèõ èçìåíåíèé (X+2) shl 16 +äëèííà ïî (Õ-2) |
100 | add ecx,2 shl 16 - 4 ;ïîñëå ýòèõ èçìåíåíèé (Y+2) shl 16 +äëèííà ïî (Y-2) |
97 | add ecx,2 shl 16 - 4 ;ïîñëå ýòèõ èçìåíåíèé (Y+2) shl 16 +äëèííà ïî (Y-2) |
101 | mcall 13 ;îòîáðàçèòü êâàäðàò âíóòðè checkbox |
98 | mcall SF_DRAW_RECT ;îòîáðàçèòü êâàäðàò âíóòðè checkbox |
102 | ret |
99 | ret |
103 | } |
- | |
104 | - | ||
Line 105... | Line -... | ||
105 | - | ||
106 | macro use_checkbox_mouse2 |
- | |
Line 107... | Line 100... | ||
107 | { |
100 | |
108 | 101 | ||
109 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
102 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
110 | ;Îáðàáîò÷èê mouse |
103 | ;Îáðàáîò÷èê mouse |
- | 104 | ;Ïðè ïîïàäàíèè ìûøêè + íàæàòà êëàâèøà â îáëàñòü checkbox ñîñòîÿíèå áîêñà äîëæíî ìåíÿòñÿ àêòèâíûé - íå àêòèâíûé. |
|
111 | ;Ïðè ïîïàäàíèè ìûøêè + íàæàòà êëàâèøà â îáëàñòü checkbox ñîñòîÿíèå áîêñà äîëæíî ìåíÿòñÿ àêòèâíûé - íå àêòèâíûé. |
105 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
112 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
106 | align 16 |
113 | check_box_mouse2: ;îáðàáîòêà ìûøè |
107 | check_box_mouse2: ;îáðàáîòêà ìûøè |
114 | pushad |
108 | pushad |
115 | mov ebp,dword [esp+36] ;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå |
109 | mov ebp,dword [esp+36] ;çàãðóæàåì óêàçàòåëü íà ñòðóêòóðó, óêàçàòåëü ìû ïåðåäàåì â ñòåêå |
116 | mcall 37,2 ;ïðîâåðÿåì ñîñòîÿíèå êëàâèø ìûøêè. Áûëî ëè ñîáûòèå íàæàòàÿ êëàâèøà íà ìûøêå. |
110 | mcall SF_MOUSE_GET,SSF_BUTTON ;ïðîâåðÿåì ñîñòîÿíèå êëàâèø ìûøêè. Áûëî ëè ñîáûòèå íàæàòàÿ êëàâèøà íà ìûøêå. |
117 | test eax,eax ;ïðîâåðêà åñëè ó íàñ â eax=0, âûéäåì |
111 | test eax,eax ;ïðîâåðêà åñëè ó íàñ â eax=0, âûéäåì |
118 | jz .check_box_mouse_end ;îáðàáîòêà çàêîí÷èëàñü |
112 | jz .check_box_mouse_end ;îáðàáîòêà çàêîí÷èëàñü |
119 | ; Äà ñîáûòèå: íàæàòèå êëàâèøè ìûøêè ïðîèçîøëî. |
113 | ; Äà ñîáûòèå: íàæàòèå êëàâèøè ìûøêè ïðîèçîøëî. |
120 | @@: |
114 | @@: |
121 | mcall 37,1 ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà |
115 | mcall SF_MOUSE_GET,SSF_WINDOW_POSITION ;ïîëó÷èòü êîîðäèíàòû êóðñîðà îòíîñèòåëüíî îêíà |
122 | ;íà âûõîäå â eax x shl 16 + y |
116 | ;íà âûõîäå â eax x shl 16 + y |
123 | ;ñðàâíåíèå âåðõíåé òî÷êè ïî Y |
117 | ;ñðàâíåíèå âåðõíåé òî÷êè ïî Y |
124 | mov ecx,dword 2ch_top_s ;y shl 16 +äëèííà ïî y |
118 | mov ecx,dword 2ch_top_s ;y shl 16 +äëèííà ïî y |
Line 152... | Line 146... | ||
152 | .enable_box: |
146 | .enable_box: |
153 | call check_box_draw_ch2 ;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ |
147 | call check_box_draw_ch2 ;îòîáðàçèòü âêëþ÷åííûé ÷åê áîêñ |
154 | .check_box_mouse_end: |
148 | .check_box_mouse_end: |
155 | popad ;âîññòàíîâèòü ðåãèñòðû èç ñòåêà |
149 | popad ;âîññòàíîâèòü ðåãèñòðû èç ñòåêà |
156 | ret 4 ;âûéòè è âîññòàíîâèì ñòåê |
150 | ret 4 ;âûéòè è âîññòàíîâèì ñòåê |
157 | } |
- | |
158 | 151 |