Здравствуйте.
TestComplete позволяет вызывать функции из Win32 API, в том числе и SendMessage. Однако, скриптовые языки не поддерживают передачу параметров по ссылке в такие методы, а значит сделать третий вызов у вас не получится.
Однако, есть способ заставить TestComplete послать сообщение WM_GETTEXT автоматически. Для этого надо зарегистрировать класс окна вашего грида в Object Mapping как Edit Box. TestComplete добавит контролу синтетическое свойство wText, которое и будет возвращать результат посылки сообщения WM_GETTEXT. Для этого надо:
- Двойным щелчком по имени вашего проекта в Project Explorer открыть редактор проекта.
- Открыть закладку Properties.
- Выбрать группу опций Object Mapping.
- Выбрать тип объекта 'Win32 Controls and Windows | Edit Box'.
- Добавить имя класса окна грида (свойства WndClass) в список.
По идее, это должно сработать.
var WM_USER = 0x0400;
...
var grid = Sys.Process....;
var row = 5;
var col = 3;
var sorted_row = Win32API.SendMessage(grid.Handle, WM_USER + 1042, row, true);
Win32API.SendMessage(grid.Handle, WM_USER + 1002, sorted_row, col);
var text = grid.wText;
Log.Message(text);