0,0 → 1,87 |
<html> |
<head> |
<title>ýëåìåíò Tooltip</title> |
<meta http-equiv="content-type" content="text/html; charset=WINDOWS-1251"> |
<link href="../style.css" type=text/css rel=stylesheet> |
</head> |
<body> |
<p><a href="../box_lib.htm">Íà ãëàâíóþ ↑</a></p> |
<h1>Îãëàâëåíèå</h1> |
<p><a href="#intro">Ââåäåíèå</a></p> |
<p><a href="#funct">Ôóíêöèè</a></p> |
<p><a href="#struc">Ñòðóêòóðà äàííûõ</a></p> |
<p><a href="#source">Èñõîäíûé êîä è ïðèìåðû</a></p> |
|
<h1><a name="intro">Ââåäåíèå</a></h1> |
<p>Òóëòèï - âñïëûâàþùàÿ ïîäñêàçêà, ïîêàçûâàåòñÿ ïðè çàäåðæêå óêàçàòåëÿ ìûøè íàä êîíêðåòíîé îáëàñòüþ, îáû÷íî ýëåìåíòîì óïðàâëåíèÿ.</p> |
<p>Îáëàñòü êîíòðîëÿ - ïðÿìîóãîëüíèê ñ çàäàííûìè êîîðäèíàòàìè</p> |
<p>Òåêñò òóëòèïà ìîæåò áûòü ìíîãîñòðî÷íûì, ñ ðàçäåëèòåëåì êîä 13 (\r), ïðîèçâîëüíûì ðàçìåðîì øðèôòà.</p> |
<p> ïåðâîé âåðñèè òóëòèï âûâîäèòñÿ íèæå êóðñîðà ìûøè è âïðàâî. Ó÷èòûâàéòå ïðè ïëàíèðîâàíèè èíòåðôåéñà.</p> |
<p>Èñïîëüçóåòñÿ äèíàìè÷åñêàÿ ïàìÿòü, ñîîòâåòñòâåííî áèáëèîòåêà äîëæíû áûòü çàãðóæåíà ñ ôóíêöèÿìè</p> |
<pre>@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load</pre> |
<p>è êó÷à äîëæíà áûòü èíèöèàëèçèðîâàíà âûçîâîì SysFn 68.11</p> |
|
<h1><a name="funct">Ôóíêöèè</a></h1> |
<p>Âñå ôóíêöèè èñïîëüçóþò x86-32 calling convention, stdcall.</p> |
<p>Ýòî îçíà÷àåò, ÷òî ðåãèñòðû EAX, ECX, EDX ìîãóò íå ñîõðàíÿòü ñâîè çíà÷åíèÿ ïîñëå âûçîâà ôóíêöèé.</p> |
<p>Ïðèìåðû âûçîâîâ ñìîòðèòå â ïðîãðàììå - ïðèìåðå.</p> |
|
<h2><a name="tooltip_init">tooltip_init(ttip)</a></h2> |
<p>Ïàðàìåòð - óêàçàòåëü íà ïåðâûé â öåïî÷êå òóëòèï.</p> |
<p>Âîçâðàò EAX==1 ïðè óñïåøíîì âûäåëåíèèè ïàìÿòè, 0 ïðè ñáîå.</p> |
<p>Âûçûâàåòñÿ îäèí ðàç, èíèöèàëèçèðóåò âñå òóëòèïû, âûäåëÿÿ ïàìÿòü è ðàññ÷èòûâàÿ âíóòðåííèå ïåðåìåííûå.</p> |
|
<h2><a name="tooltip_delete">tooltip_delete(ttip)</a></h2> |
<p>Ïàðàìåòð - óêàçàòåëü íà ïåðâûé â öåïî÷êå òóëòèï.</p> |
<p>Âîçâðàò - íåò.</p> |
<p>Îñâîáîæäàåò âûäåëåííóþ ïàìÿòü.</p> |
|
<h2><a name="tooltip_test_show">tooltip_test_show(ttip)</a></h2> |
<p>Ïàðàìåòð - óêàçàòåëü íà ïåðâûé â öåïî÷êå òóëòèï.</p> |
<p>Âîçâðàò - íåò.</p> |
<p>Ïîêàç íóæíîãî èç âñåé öåïî÷êè òóëòèïîâ ïðè áåçäåéñòâèè. |
Äîëæíà âûçûâàòüñÿ ïðè áåçäåéñòâèè èëè ïåðèîäè÷åñêè äëÿ ïðîâåðêè òàéìåðà. |
Íàïðèìåð ïðè îïðîñå ñîáûòèé ôóíêöèåé SysFn 23 (event 0).</p> |
|
<h2><a name="tooltip_mouse">tooltip_mouse(ttip)</a></h2> |
<p>Ïàðàìåòð - óêàçàòåëü íà ïåðâûé â öåïî÷êå òóëòèï.</p> |
<p>Âîçâðàò - íåò.</p> |
<p>Ýòà ôóíêöèÿ äîëæíà âûçûâàòüñÿ ïðè ñîáûòèè ìûøè. Ñòèðàåò òóëòèï ïðè âûõîäå ìûøè èç çîíû êîíòðîëÿ</p> |
|
<h2><a name="get_font_size">get_font_size(color)</a></h2> |
<p>Ïàðàìåòð - öâåò òåêñòà ñ ðàçìåðîì øðèôòà, â ôîðìàòå ôóíêöèè SysFn 4.</p> |
<p>Âîçâðàò - EAX = width shl 16 + height.</p> |
<p>Äåêîäèðóåò èç êîìáèíèðîâàííîãî öâåòà/ðàçìåðà øèðèíó è âûñîòó øðèôòà â ïèêñåëÿõ</p> |
|
<h1><a name="struc">Ñòðóêòóðà òóëòèïà</a></h1> |
<p>Ìàêðîñ äëÿ ñîçäàíèÿ ñòðóêòóðû òóëòèïà íèæå, âêëþ÷åí â box_lib.mac. Íå çàáûâàåì îáúåäèíèòü òóëòèïû â ñïèñîê.</p> |
<pre>struc tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait |
{ |
.txt dd txt ; óêàçàòåëü íà òåêñò asciiz, ðàçäåëèòåëü \r 13 |
.next dd next ; ñëåäóþùèèé tooltip â öåïî÷êå èëè 0 |
.zone_y dw zone_y ; çîíà êîíòðîëÿ (â 90% ñëó÷àåâ ñîâïàäàåò ñ ðàçìåðîì êîíòðîëà) |
.zone_x dw zone_x ; |
.zone_h dw zone_h ; |
.zone_w dw zone_w ; |
.col_txt dd col_txt ; öâåò òåêñòà òóëòèïà, âêëþ÷àÿ ðàçìåð SysFn4 |
.col_bkg dd col_bkg ; öâåò ôîíà òóëòèïà |
.tm_wait dw tm_wait ; âðåìÿ îæèäàíèÿ õ10ìñ |
;âðåìåííûå ïåðåìåííûå |
.font_sz dd ? ; font size |
.mouse dd ? ; ïðåäûäóùåå ïîëîæåíèå (x, y) |
.tm_strt dd ? ; âðåìÿ çàïóñêà òàéìåðà (âõîäà ìûøè â çîíó) õ10ìñ |
.video dd ? ; ïàìÿòü äëÿ ñîõðàíåííîãî ïîä òóëòèïîì |
.video_y dw ? ; êîîðäèíàòû çàïîìíåííîé îáëàñòè ýêðàíà, èëè 0 åñëè ïóñòî |
.video_x dw ? |
.video_h dw ? ; ðàçìåð ïðåäðàñ÷èòûâàåòñÿ ïðè init |
.video_w dw ? |
} |
</pre> |
|
<hr> |
<h1><a name="source">Èñõîäíûé êîä è ïðèìåðû</a></h1> |
<p>Èñõîäíûé êîä íàõîäèòñÿ â áèáëèîòåêå box_lib, ôàéë tooltip.asm</p> |
<p>Ïðèìåð èñïîëüçîâàíèÿ íàõîäèòñÿ â box_lib\asm\trunk\tooltip_demo.asm</p> |
<h1>EOF</h1> |
</body> |
</html> |