- Сообщения
- 3,570
- Репутация
- 632
пример из справки
в данном варианте при нажатии кнопки появляется надпись. потом цикл. если свернуть окно и восстановить, то надпись исчезает. в цикл ее ставить не вариант.
как решить этот вопрос?
Код:
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>
#include <GUIConstantsEx.au3>
Global $tRECT, $hFont, $OldFont, $hDC
HotKeySet("{ESC}", "_Exit")
$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 250)
DllStructSetData($tRECT, "Bottom", 50)
$Form1 = GUICreate("Form1", 432, 218, 192, 124)
$Label1 = GUICtrlCreateLabel("Label1", 48, 100, 228, 17)
$Button1 = GUICtrlCreateButton("Button1", 328, 160, 75, 25)
GUISetState(@SW_SHOW)
$hDC = _WinAPI_GetDC($Form1)
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
$OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$OldFont = _WinAPI_SelectObject($hDC, $hFont)
$i = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Exit()
Exit
Case $Button1
_WinAPI_DrawText($hDC, 'Слово', $tRECT, $DT_CENTER)
While 1
GUICtrlSetData($Label1, $i)
Sleep(100)
$i += 1
WEnd
EndSwitch
WEnd
Func _Exit()
_WinAPI_SelectObject($hDC, $OldFont)
_WinAPI_DeleteObject($hFont)
_WinAPI_ReleaseDC($Form1, $hDC)
_WinAPI_InvalidateRect($Form1)
Exit
EndFunc ;==>_Exit
в данном варианте при нажатии кнопки появляется надпись. потом цикл. если свернуть окно и восстановить, то надпись исчезает. в цикл ее ставить не вариант.
как решить этот вопрос?