BlueGrey
calm
Elegant
Català-Valencià – Catalan
中文 – Chinese (Simplified)
中文 – Chinese (Traditional)
Česky – Czech
Dansk – Danish
Nederlands – Dutch
English – English
Suomi – Finnish
Français – French
Deutsch – German
עברית – Hebrew
हिंदी – Hindi
Magyar – Hungarian
Bahasa Indonesia – Indonesian
Italiano – Italian
日本語 – Japanese
한국어 – Korean
Македонски – Macedonian
मराठी – Marathi
Norsk – Norwegian
Polski – Polish
Português – Portuguese
Português – Portuguese (Brazil)
Русский – Russian
Slovenčina – Slovak
Slovenščina – Slovenian
Español – Spanish
Svenska – Swedish
Türkçe – Turkish
Українська – Ukrainian
Oëzbekcha – Uzbek
Subversion Repositories
Kolibri OS
(root)
/
programs
/
develop
/
libraries
/
box_lib
/
trunk
/
doc
/
tooltip
/
tooltip.htm
– Rev 6707
Rev
Blame
|
Last modification
|
View Log
|
Download
|
RSS feed
<
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
>