Сделал тут небольшую программу https://autoit-script.ru/index.php?topic=24312.0 . И вот есть там у меня баг, не пойму как его исправить.
Там есть модальное окно (или типа того), которое отображается поверх интерфейса по программа там работает.
Дак вот в большинстве операций оно отображается нормально
, но при событии "нажатие правой кнопки на элементе списка" получается вот так.
Надпись не отображается.
Ниже код функции которая создает окно. Два варианта которые я пробовал, но результат тот же.
Там есть модальное окно (или типа того), которое отображается поверх интерфейса по программа там работает.
Дак вот в большинстве операций оно отображается нормально
, но при событии "нажатие правой кнопки на элементе списка" получается вот так.
Надпись не отображается.
Ниже код функции которая создает окно. Два варианта которые я пробовал, но результат тот же.
Код:
Global $GUImodal
Func _modal($_show,$text,$prntW)
if ($GUImodal == '') Then
Local $pPos = WinGetPos ($prntW), $modWidth = 280, $modHeight = 92
Local $modL = $pPos[0] + Floor(($pPos[2] - $modWidth)/2)
Local $modT = $pPos[1] + Floor(($pPos[3] - $modHeight)/2)
$GUImodal = GUICreate("modal",$modWidth,$modHeight,$modL,$modT,$WS_POPUPWINDOW,'',$prntW)
GUICtrlCreateLabel($text,115,38.5,80,15,-1,-1)
GUISetState(@SW_DISABLE,$prntW)
GUISetState(@SW_SHOW,$GUImodal)
Else
GUISetState(@SW_ENABLE,$prntW)
GUIDelete ($GUImodal)
$GUImodal = ''
EndIf
EndFunc
Func _modal($_show,$text,$prntW)
Local $pPos = WinGetPos ($prntW), $modWidth = 280, $modHeight = 92
Local $modL = $pPos[0] + Floor(($pPos[2] - $modWidth)/2)
Local $modT = $pPos[1] + Floor(($pPos[3] - $modHeight)/2)
if ($GUImodal == '') Then
$GUImodal = GUICreate("modal",$modWidth,$modHeight,$modL,$modT,$WS_POPUPWINDOW,'',$prntW)
GUICtrlCreateLabel("Working...",115,38.5,80,15,-1,-1)
EndIf
Switch $_show
Case True
WinMove($GUImodal, "", $modL, $modT)
GUISetState(@SW_DISABLE,$prntW)
GUISetState(@SW_SHOW,$GUImodal)
Case False
GUISetState(@SW_ENABLE,$prntW)
GUISetState(@SW_HIDE,$GUImodal)
EndSwitch
EndFunc