Что нового

Библиотека для оформления ToolTip

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
AutoIt: 3.3.6.1
Версия: v 1.0

Категория: Окна и диалоги, Элементы GUI

Описание: Библиотека для создания не стандартного ToolTip'a

Код/Пример:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <_JSkin_ToolTip.au3>

$hForm = GUICreate("", 160, 60)

$iButton1 = GUICtrlCreateButton("ToolTip 1", 20, 20, 50, 20)
$ToolTip1 = _JSkin_CreateTT($iButton1, "Кнопка 1", "Skining ToolTip", 100, 0, 2)
_JSkin_SetTTBkColor($ToolTip1, 0x000000)
_JSkin_SetTTTextColor($ToolTip1, 0xFFFFFF)
_JSkin_SetTTFont($ToolTip1, 14, 600, "Cambria", 0)

$iButton2 = GUICtrlCreateButton("ToolTip 2", 90, 20, 50, 20)
$ToolTip2 = _JSkin_CreateTT($iButton2, "Кнопка 2", "Skining ToolTip", 100, 1, 1)
_JSkin_SetTTBkColor($ToolTip2, 0x7085FF)
_JSkin_SetTTTextColor($ToolTip2, 0x2339B2)
_JSkin_SetTTFont($ToolTip2, 14, 800, "Calibri", 0)

GUISetState()

While 1
    Switch GUIGetMsg()
	    Case $GUI_EVENT_CLOSE
            Exit		
    EndSwitch
WEnd

Файл: _JSkin_ToolTip

Снимок:
index.php

История версий:
v 1.0

Источник: Autoit Русское сообщество
Автор(ы): R.Gilman (a.k.a. rasim), Viktor1703
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Запустил я ваш пример, при нажатии на кнопку "Tooltip" - ваш Tooltip больше не показывается. Это так было задумано или это недоработка ?
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Скорее не доработка, сейчас исправлю


Добавлено:
Сообщение автоматически объединено:

Поторопился, здесь нужен таймер
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Ну вот....., кто умеет с таймерами работать?
 
Автор
V

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Вроде довёл до ума, теперь ToolTip появляется всегда
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Ошибка в функции F_FA705C3E, должно быть так:
Код:
...

Func F_FA705C3E($hWnd, $iMsg, $wParam, $lParam)
	Local $tPoint = _WinAPI_GetMousePos()
	Local $Id = _WinAPI_GetDlgCtrlID(_WinAPI_WindowFromPoint($tPoint))

...


И я если честно не понимаю смысл обфускации части кода.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
AZJIO [?]
Кстати у rasim на офсайте такая же библиотека ToolTip_UDF.
Кстати я об этом уже писал ;).
И в первом сообщении так и написано что он автор. Хотя библиотека переделана.

Я как раз вчера смотрел, как можно установить размеры в структуре в "rect[4]"
В библиотеке есть для этого уже готовая функция _JSkin_TTMaxLen.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Код:
DllCallbackRegister("F_FA705C3E", "none", "")


Функция обратного вызова должна иметь четыре параметра.

Код:
BitOR(0x00000001, 0x00000002, 0x80000000, 0x00000040)


Может лучше сразу написать 0x80000043?

CreatoR сказал(а):
Код:
...

Func F_FA705C3E($hWnd, $iMsg, $wParam, $lParam)
	Local $tPoint = _WinAPI_GetMousePos()
	Local $Id = _WinAPI_GetDlgCtrlID(_WinAPI_WindowFromPoint($tPoint))

...

Кроме того, здесь нужна проверка на ошибку ($Id <> 0).
 
Верх