函数参考


_GUICtrlEdit_SetModify

设置或清除修改标志.

#include <GuiEdit.au3>
_GUICtrlEdit_SetModify($hWnd, $fModified)

参数

$hWnd 控件的控件ID/句柄
$fModified 指定修改标志的新值:
 True - 指示文本已被修改.
False - 指示文本未被修改.

返回值

None.

注意/说明

当创建控件时,系统会自动清除修改标志为 0.
如果用户更改控件文本,系统设置标志为非 0 值.
可以调用 _GUICtrlEdit_GetModify 函数检索当前标志的状态.

相关

_GUICtrlEdit_GetModify, _GUICtrlEdit_CanUndo

示例/演示


#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>

$Debug_Ed = False ; 检查传递给 Edit 函数的类名, 设置为真并使用另一控件的句柄可以看出它是否有效

_Main()

Func _Main()
    Local $hStatusBar, $hEdit, $hGUI
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\_ReadMe_.txt"
    Local $aPartRightSide[4] = [120, 248, 378, -1]

    ; 创建 GUI
    $hGUI = GUICreate("Edit Set Modify", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268)
    $hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    _GUICtrlStatusBar_SetIcon($hStatusBar, 3, 97, "shell32.dll")
    GUISetState()

    ; 设置边距
    _GUICtrlEdit_SetMargins($hEdit, BitOR($EC_LEFTMARGIN, $EC_RIGHTMARGIN), 10, 10)

    ; 添加文本
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))
    _GUICtrlEdit_LineScroll($hEdit, 0, _GUICtrlEdit_GetLineCount($hEdit) * - 1)

    ; 获取修改标志
    _GUICtrlStatusBar_SetText($hStatusBar, "Modified: " & _GUICtrlEdit_GetModify($hEdit), 2)

    MsgBox(4160, "信息", "Set Modify Flag")
    ; 设置修改标志
    _GUICtrlEdit_SetModify($hEdit, True)

    ; 获取修改标志
    _GUICtrlStatusBar_SetText($hStatusBar, "Modified: " & _GUICtrlEdit_GetModify($hEdit), 2)

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main