Что нового

Странное поведение созданного окна

mitiya

Новичок
Сообщения
75
Репутация
0
Сделал тут небольшую программу 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
 
Верх