forked from KolibriOS/kolibrios
tooltip docu file lost
git-svn-id: svn://kolibrios.org@6707 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4811fbd229
commit
eb9257c0ff
@ -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>
|
Loading…
Reference in New Issue
Block a user