Что нового

[Элементы GUI] Создание ToolTip с переносом строк

erlik

Продвинутый
Сообщения
317
Репутация
84
Как в Autoit сделать нормальный ToolTips?
Чтобы там был автоматический перенос текста (по размеру типса - хотя в Autoit размеры почему то не задаются) - а не в одну строку(@CR или @LF не подходит)? Может в WinAPI есть нормальный вариант установки типса?
 

AZJIO

Меценат
Меценат
Сообщения
2,892
Репутация
1,196
Re: ToolTips

erlik

Код:
HotKeySet("{ESC}", "_Exit")
Func _Exit()
    Exit
EndFunc
$dsc='У лукоморья дуб зелёный, златая цепь на дубе том, и днём и ночью кот учёный всё ходит по цепи кругом. Однажды в студёную зимнюю пору я из лесу вышел, был сильный мороз )))'
ToolTip(StringRegExpReplace($dsc, '(.{35,}?[ ])(.*?)', '$0'&@CRLF))
GUISetState ()
While 1
	Sleep(1000)
WEnd
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1,590
Репутация
341
Re: ToolTips

{TopicNameWarn.Admin}
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
Тема в принципе решена. За что AZJIO большая благодарность. Но если не сложно поясните еще пожалуйста такую вещь: почему на элемент TreeViewItem у меня не устанавливалась всплывающая подсказка через GUICtrlSetTip ? Не предусмотрено?
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
В стандартной поставке Autoit такой функции как _GUICtrlTreeView_SetItemToolTip нет. И я хотел всего лишь узнать - установка типса для TreeViewItem через GUICtrlSetTip предусмотрена или нет.
Сам код мне не нужен - так как обошелся каллбеком GUICtrlSetOnEvent и функцией ToolTip.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
erlik [?]
В стандартной поставке Autoit такой функции как _GUICtrlTreeView_SetItemToolTip нет
есть. хотя, неизвестно что ты подразумеваешь под стандартной поставкой. лично я все те файлы которые установились после запуска установщика скачанного с офсайта.

hint: к некоторым функциям необходимо подключение библиотек содержащих их определение
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
Kaster
#include <GuiTreeView.au3> у меня стоит. И в списке функций данной библиотеки этой функции нет. ПО крайне мере у меня. Есть _GUICtrlTreeView_SetToolTips - правда как она работает я пока не понял.
Скачан Autoit у меня с оффсайта.
PS: правда в файле GuiTreeView.au3 указано AutoIt Version : 3.2.3++. Хотя качал я последнюю версию пакета Autoit.
 

SECTOR

Продвинутый
Сообщения
399
Репутация
59
Kaster, та функция написана на пару уважаемыми CreatoR'ом и Yashied'ом :smile:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
erlik
в таком случае, mea culpa :smile:
посмотрел на префикс и думал все из либы
 
Автор
E

erlik

Продвинутый
Сообщения
317
Репутация
84
Последний вопрос по теме ToolTip - почему не работает вот этот код?
Код:
Func GetCursorOutRect($hWnd, $text)
ToolTip($text); выводим подсказку	
$hItem= GUICtrlGetHandle(@GUI_CTRLID); получаем хендел кликнутого TreeViewItem
local $Rect, $Point

while 1
$Rect=_GUICtrlTreeView_DisplayRectEx($hWnd, $hItem) ; получаем прямоугольник занимаемый TreeViewItem 
$Point = _WinAPI_GetMousePos(True, $hItem); получаем позицию курсора
;-------------если курсор покинул область прямоугольника TreeViewItem - выходим из цикла
if  _WinAPI_PtInRect($Rect, $Point)=False then ExitLoop  
WEnd
ToolTip("") ; убираем подсказку
EndFunc


Мне нужно, чтобы подсказка появлялась при выделении(клике) элемента TreeViewItem и исчезала после того, как курсор покинул область выделения. Однако она исчезает сразу же - появляясь буквально на долю секунды.
 
Верх