Что нового

[Окна, Диалоги] Изменение параметров шрифта в ToolTip

mantest

Новичок
Сообщения
18
Репутация
0
Доброго времени суток, уважаемые форумчане!
Подскажите пожалуйста как можно изменить размер шрифта в функции ToolTip?

Код:
sleep(1000)
Global $iWidth = @DesktopWidth
Global $iHeight = @DesktopHeight
Global $iX = $iWidth / 2
Global $iY = $iHeight / 3
ToolTip("             Вывод сообщения на экран", $iX, $iY, "                  Внимание!", 2,2)
sleep(7000)
 

joiner

Модератор
Локальный модератор
Сообщения
3,427
Репутация
597
выход - писать свое окно
в этом случае у тебя будет масса вариантов изменения стиля окна и шрифта надписи
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
244
Есть функция "SplashTextOn", в ней можно изменять шрифт и размер шрифта, например:
Код:
sleep(1000)
Global $iWidth = @DesktopWidth
Global $iHeight = @DesktopHeight
Global $iX = $iWidth / 2
Global $iY = $iHeight / 3
;ToolTip("             Вывод сообщения на экран", $iX, $iY, "                  Внимание!", 2,2)
SplashTextOn("                  Внимание!","             Вывод сообщения на экран",300,100,-1,-1,-1,"Comic Sans MS",20,400)
sleep(7000)
 
A

Alofa

Гость
Как вариант:
Код:
_MyToolTip('Это моя всплывающая подсказка - 1')
Sleep(2000)
_MyToolTip('Это моя всплывающая подсказка - 2', _	; Текст
									'Verdana', _	; Шрифт
									50, _ 			; Размер шрифта
									30, _			; Горизонтальные отступы
									60, _			; Вертикальные отступы
									0x0000FF, _		; Цвет текста в формате BGR
									0x00F7FF)		; Цвет фона в формате BGR
Sleep(2000)

Func _MyToolTip($sText, $Font = Default, $FontSize = Default, $iHorzMargins = 10, $VertMargins = 5, $iTextColor = 1, $iBkColor = 1)
	$oShow = ObjCreate("Internet.HHCtrl")
	If @error Or Not $sText Then Return SetError(1, 0, -1)
	$oShow.TextPopup($sText, $Font & ',' & $FontSize, $iHorzMargins, $VertMargins, $iTextColor, $iBkColor)
EndFunc   ;==>_MyToolTip
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
244
Alofa, интересный вариант,возьму себе на заметку ! Только, Ваш вариант действует, как "MsgBox" , т.е скрипт должен приостановить свою работу на время показа сообщения, а "SplashTextOn"и "ToolTip" не приостанавливают выполнение скрипта.
 
A

Alofa

Гость
ra4o сказал(а):
... Ваш вариант действует, как "MsgBox" , т.е скрипт должен приостановить свою работу на время показа сообщения...
Да ну ;)
Код:
Local $i = 0
_MyToolTip('Это моя всплывающая подсказка - 2', 'Verdana', 50, 30, 60, 0x0000FF, 0x00F7FF)

Do
    $i += 1
Until $i = 2000000
MsgBox(4096, '', '$i = ' & $i)

Func _MyToolTip($sText, $Font = Default, $FontSize = Default, $iHorzMargins = 10, $VertMargins = 5, $iTextColor = 1, $iBkColor = 1)
    $oShow = ObjCreate("Internet.HHCtrl")
    If @error Or Not $sText Then Return SetError(1, 0, -1)
    $oShow.TextPopup($sText, $Font & ',' & $FontSize, $iHorzMargins, $VertMargins, $iTextColor, $iBkColor)
EndFunc   ;==>_MyToolTip
 

joiner

Модератор
Локальный модератор
Сообщения
3,427
Репутация
597
не спорьте, везде нужна задержка для отображения подсказки. в любом из вариантов этой темы. будь то Sleep или цикл с записью в консоль
Код:
Local $i = 0
ToolTip('Это моя всплывающая подсказка - 2', 'Verdana')

Do
	$i += 1
ConsoleWrite($i&@CRLF)
Until $i = 9000000000
 
A

Alofa

Гость
joiner сказал(а):
не спорьте, везде нужна задержка для отображения подсказки...
Подсказка на от и подсказка - она живет пока вы куда-нибудь не кликните, не всплывет еще какое окно или не закончится работа(!) скрипта. И все это можно организовать без каких-либо "задержек".


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


Код:
;...
ToolTip('Это моя всплывающая подсказка - 2', 'Verdana') ; <- Это как так?
;...
 

joiner

Модератор
Локальный модератор
Сообщения
3,427
Репутация
597
Alofa [?]
Подсказка на от и подсказка - она живет пока вы куда-нибудь не кликните, не всплывет еще какое окно или не закончится работа(!) скрипта. И все это можно организовать без каких-либо "задержек".
ну так про это и речь.
к тому же, в твоем варианте подсказка исчезает при клике мышью. ToolTip же не реагирует на клик.
чтобы подсказка исчезала тогда, когда назначено, нужно ее запускать в отдельном процессе(с потоками ведь не судьба :smile: )
а для этого нужен обмен данными и прочее. во многих вариантах это лишний код и труд. поэтому SplashTextOn за глаза достаточно



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

да, кстати,
Код:
TrayTip
позволяет кликать дальше и работать с кодом
 
A

Alofa

Гость
AZJIO отлично работает, вот только на v3.3.8.1.
 
Верх