Что нового

[Элементы GUI] Как увидеть окно типа Tooltip

vitaliy4us

Новичок
Сообщения
158
Репутация
4
В качестве подтверждения выполнения определенного действия, появляется окошко с соответствующим текстом. Window info определяет его параметры как:

Title: Your fax was successfully sent to the Fax-Server
Class: tooltips_class32
Position: 1183, 807
Size: 273, 74
Style: 0x940006C3
ExStyle: 0x00080088
Handle: 0x0001010C

Однако, ни WinWait("Your fax was successfully sent to the Fax-Server"), ни WinWait("[CLASS:tooltips_class32]") не определяют его появление. Почему это происходит?
 

agikon

Знающий
Сообщения
789
Репутация
17
А так?
Код:
WinWait("[REGEXPTITLE:.*Your fax was successfully sent to the Fax-Server.*]", "", 5)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
vitaliy4us,
Попробуйте так, у меня работает.
Свой:
Код:
$s_Text = 'Your fax was successfully sent to the Fax-Server'

ToolTip($s_Text, 0, 0, 'My Title', 1, 4)
$hTT = WinWait('[TITLE:'& $s_Text & '; Class:tooltips_class32]', '', 2)
If Not $hTT Then Exit 13
$aPos = WinGetPos($hTT)
For $i = 0 To (@DesktopWidth - $aPos[2])
	WinMove($hTT, '', $i, 0)
	Sleep(5)
Next
MsgBox(64, 'Info', 'OK')

Чужой:
Код:
$s_Text = 'Your fax was successfully sent to the Fax-Server'

$hTT = _GetToolTip($s_Text)
If Not $hTT Then Exit 13
$aPos = WinGetPos($hTT)
For $i = 0 To (@DesktopWidth - $aPos[2]) / 2
	WinMove($hTT, '', $i, 0)
	Sleep(5)
Next
MsgBox(64, 'Info', 'OK')

Func _GetToolTip($s_Text)
	Local $a_ToolTip, $h_ToolTip
	$a_ToolTip = WinList('[Class:tooltips_class32]')
	If Not $a_ToolTip[0][0] Then Return $h_ToolTip
	For $i = 1 To $a_ToolTip[0][0]
		If BitAND(WinGetState($a_ToolTip[$i][1]), 2) And StringInStr(WinGetTitle($a_ToolTip[$i][1]), $s_Text) Then
			$h_ToolTip = $a_ToolTip[$i][1]
			Return $h_ToolTip
		EndIf
	Next
	Return $h_ToolTip
EndFunc   ;==>_GetToolTip
 
Верх