Zloy_Gelud
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ubian -- есть же нормальные API.. LEDRA, см. ниже: Глобальгые функции: Код: --[[ Возвращает флаг модификаии]] Input.GetModify = function (sObject) local tProp = Input.GetProperties(sObject); if tProp then local hWnd = tProp.WindowHandle; return DLL.CallFunction("user32.dll", "SendMessageA", hWnd..", 184, 0, 0", 1, 1) ~= '0' else return false; end end --[[ Устанавливает или снимает флаг модификации объекта]] Input.SetModify = function (sObject, bModified) local tProp = Input.GetProperties(sObject); if tProp then local hWnd = tProp.WindowHandle; if bModified == true then bModified = 1; else bModified = 0; end DLL.CallFunction("user32.dll", "SendMessageA", hWnd..", 185, "..bModified..", 0", 1, 1); end end | Тест: Код: -- изменяем содержимое Input.SetText("Input_Tname", "The new text..."); -- устанавливаем флаг модификации. -- Можно не использовать эту функу, -- если текст в объекте изменялся вручную, а не программно. Input.SetModify("Input_Tname", true); Application.Sleep(500); -- появляется диалоговое окно if Input.GetModify("Input_Tname") then Dialog.Message("Notice", "Содержимое было изменено.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); end -- сбрасываем флаг модификации Input.SetModify("Input_Tname", false); -- опять проверяем флаг if Input.GetModify("Input_Tname") then Dialog.Message("Notice", "Содержимое было изменено.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); else Dialog.Message("Notice", "Ничего не трогали.", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1); end |
| Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 18:33 21-01-2012 | Исправлено: Zloy_Gelud, 18:35 21-01-2012 |
|