#include <GUIConstantsEx.au3>
$hGUI= GUICreate("Тест", 350, 180)
$Input = GUICtrlCreateInput ("Example text", 10,10,150,20)
GUICtrlSetColor($Input, 0xA0A0A0)
GUICtrlSetState($Input, $GUI_DISABLE)
GUISetState()
AdlibRegister('_Cursor', 100)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _Cursor()
Local $aCursor = GUIGetCursorInfo()
If IsArray($aCursor) Then
Switch $aCursor[4]
Case $Input
GUICtrlSetData($Input, "")
GUICtrlSetColor($Input, 0x000000)
GUICtrlSetState($Input, $GUI_ENABLE)
AdlibUnRegister('_Cursor')
EndSwitch
EndIf
EndFunc
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate('Тест', 350, 180, -1, -1, -1, $WS_CLIPCHILDREN)
$nInput = GUICtrlCreateInput('Example text text text text text', 10, 10, 150, 20)
GUICtrlSetColor(-1, 0x505050)
$nLabel = GUICtrlCreateLabel('', 0, 0, 1, 1)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$aCursor = GUIGetCursorInfo()
If Not @error Then
If $aCursor[4] = $nInput And $aCursor[2] Then
GUICtrlSetState($nLabel, $GUI_FOCUS)
For $i = 0x505050 To 0xFFFFFF Step 0x010101
GUICtrlSetColor($nInput, $i)
Sleep(10)
Next
GUICtrlSetData($nInput, '')
GUICtrlSetColor($nInput, 0x505050)
EndIf
EndIf
WEnd
Забыл вернуть тексту черный цвет, а-то как то белым по белому писать не очень ;)Можно так попробовать
Исправил. Забыл, что не только печатать, но и вставлять текст можно. :-[Забыл вернуть тексту
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate('Тест', 350, 180, -1, -1, -1, $WS_CLIPCHILDREN)
$nInput = GUICtrlCreateInput('Example text text text text text', 10, 10, 150, 20)
GUICtrlSetColor(-1, 0x505050)
$nLabel = GUICtrlCreateLabel('', 0, 0, 1, 1)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$aCursor = GUIGetCursorInfo()
If Not @error Then
If $aCursor[4] = $nInput And $aCursor[2] Then
GUICtrlSetState($nLabel, $GUI_FOCUS)
For $i = 0x505050 To 0xFFFFFF Step 0x010101
GUICtrlSetColor($nInput, $i)
Sleep(10)
Next
GUICtrlSetColor($nInput, 0x000000)
GUICtrlSetData($nInput, '')
EndIf
EndIf
If Not @error Then
If Not $aCursor[4] = $nInput And $aCursor[2] Then
$Read = GUICtrlRead($nInput)
If $Read = "" Then
GUICtrlSetColor($nInput, 0x505050)
GUICtrlSetData($nInput, 'Example text text text text text')
EndIf
EndIf
EndIf
WEnd
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$fShow = True
GUICreate('Тест', 350, 180, -1, -1, -1, $WS_CLIPCHILDREN)
$nInput = GUICtrlCreateInput('Example text text text text text', 10, 10, 150, 20)
GUICtrlSetColor(-1, 0x505050)
$nLabel = GUICtrlCreateLabel('', 0, 0, 1, 1)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$aCursor = GUIGetCursorInfo()
If Not @error Then
If $aCursor[4] = $nInput And $aCursor[2] Then
If $fShow Then
GUICtrlSetState($nLabel, $GUI_FOCUS)
For $i = 0x505050 To 0xFFFFFF Step 0x010101
GUICtrlSetColor($nInput, $i)
Sleep(10)
Next
GUICtrlSetData($nInput, '')
GUICtrlSetColor($nInput, 0x505050)
$fShow = False
Else
If GUICtrlRead($nInput) == '' Then
GUICtrlSetState($nLabel, $GUI_FOCUS)
GUICtrlSetData($nInput, 'Example text text text text text')
GUICtrlSetColor($nInput, 0xFFFFFF)
For $i = 0xFFFFFF To 0x505050 Step -1 * 0x010101
GUICtrlSetColor($nInput, $i)
Sleep(10)
Next
EndIf
$fShow = True
EndIf
EndIf
EndIf
WEnd
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate('Тест', 350, 180, -1, -1, -1, $WS_CLIPCHILDREN)
$nInput = GUICtrlCreateInput('Ваш E-mail', 10, 10, 150, 20)
GUICtrlSetColor(-1, 0x505050)
$nLabel = GUICtrlCreateLabel('', 0, 0, 1, 1)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$aCursor = GUIGetCursorInfo()
If Not @error Then
If $aCursor[4] = $nInput And $aCursor[2] Then
GUICtrlSetData($nInput, '')
GUICtrlSetColor($nInput, 0x000000)
EndIf
EndIf
If Not @error Then
If Not $aCursor[4] = $nInput And $aCursor[2] Then
If GUICtrlRead($nInput) = "" Then
GUICtrlSetColor($nInput, 0x505050)
GUICtrlSetData($nInput, 'Ваш E-mail')
EndIf
EndIf
EndIf
WEnd
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
GUICreate("_GUICtrlEdit_SetDefault")
Global $EDIT_DEF_ITEMS[1][2] = [[0, 0]]
$nEdit1 = GUICtrlCreateInput("", 5, 5, 100, 20)
_GUICtrlEdit_SetDefault($nEdit1, "This is the test", 0xFFC1C1, 0x0000FF)
$nEdit2 = GUICtrlCreateInput("", 5, 30, 100, 20)
_GUICtrlEdit_SetDefault($nEdit2, "Take 2.", 0x989898)
GUICtrlCreateInput("Just a standard input", 5, 55, 200, 20)
GUICtrlSetState(-1, $GUI_FOCUS)
GUISetState()
While GUIGetMsg() <> -3
WEnd
Func _GUICtrlEdit_SetDefault($hEdit, $sDefText, $nDefColor = 0x989898, $nTextColor = 0x000000)
If $hEdit = 0 Then
Return SetError(1, 0, 0)
EndIf
If $EDIT_DEF_ITEMS[0][0] = 0 Then
GUIRegisterMsg($WM_COMMAND, "__EDIT_DEF_WM_COMMAND")
EndIf
If GUICtrlRead($hEdit) = "" Then
GUICtrlSetColor($hEdit, $nDefColor)
GUICtrlSetData($hEdit, $sDefText)
EndIf
$EDIT_DEF_ITEMS[0][0] += 1
ReDim $EDIT_DEF_ITEMS[$EDIT_DEF_ITEMS[0][0] + 1][4]
$EDIT_DEF_ITEMS[$EDIT_DEF_ITEMS[0][0]][0] = $hEdit
$EDIT_DEF_ITEMS[$EDIT_DEF_ITEMS[0][0]][1] = $sDefText
$EDIT_DEF_ITEMS[$EDIT_DEF_ITEMS[0][0]][2] = $nDefColor
$EDIT_DEF_ITEMS[$EDIT_DEF_ITEMS[0][0]][3] = $nTextColor
Return 1
EndFunc ;==>_GUICtrlEdit_SetDefault
Func __EDIT_DEF_WM_COMMAND($hWnd, $msgID, $wParam, $lParam)
Local $n = __EDIT_DEF_GETINDEX(BitAND($wParam, 0xFFFF))
If $n = -1 Then
Return $GUI_RUNDEFMSG
EndIf
Local $nMsg = BitShift($wParam, 16)
If $nMsg = $EN_SETFOCUS Then ; Gained focus (EN_SETFOCUS)
If (GUICtrlRead($EDIT_DEF_ITEMS[$n][0]) == $EDIT_DEF_ITEMS[$n][1]) Then
GUICtrlSetColor($EDIT_DEF_ITEMS[$n][0], $EDIT_DEF_ITEMS[$n][3])
GUICtrlSetData($EDIT_DEF_ITEMS[$n][0], "")
EndIf
ElseIf $nMsg = $EN_KILLFOCUS Then ; Lost Focus (EN_KILLFOCUS)
If GUICtrlRead($EDIT_DEF_ITEMS[$n][0]) = "" Then
GUICtrlSetColor($EDIT_DEF_ITEMS[$n][0], $EDIT_DEF_ITEMS[$n][2])
GUICtrlSetData($EDIT_DEF_ITEMS[$n][0], $EDIT_DEF_ITEMS[$n][1])
EndIf
EndIf
EndFunc ;==>__EDIT_DEF_WM_COMMAND
Func __EDIT_DEF_GETINDEX($hEdit)
For $i = 1 To UBound($EDIT_DEF_ITEMS) - 1
If $EDIT_DEF_ITEMS[$i][0] = $hEdit Then
Return $i
EndIf
Next
Return -1
EndFunc ;==>__EDIT_DEF_GETINDEX