Обработать класс TStringGrid
Вложений: 1
Всем доброго времени суток!
Прошу помочь с проблемой следующего характера... Есть программа, осуществляющая поиск. Результаты поиска представлены в виде таблицы класса TStringGrid. Результатов может быть от одного и до (в теории =) ) бесконечности. Нужно на каждой строке результата сделать ENTER ну и обработать дальше, не суть. Трабла в том, что средствами AutoIT v3 Info я не могу видеть разницу между строкой со вторым, например, результатом и строкой с третьим результатом. Другими словами, если я нахожусь в первой строке и при нажатии на кнопку down ЧТО-ТО изменилось - ништяк, есть еще один результат. Не изменилось - ну на нет и суда нет, делаем какие-то другие вещи. Есть идеи, как можно в этом контроле понять, где 1 строка, а где вторая. |
Твой скриншот ниочем не говорит...
Лучше скопируй сюда текст с вкладки "Summary" окна AutoIT v3 Info. |
Frost_Imp, "T*" - контролы Delphi, автоматизировать их проблематично , т.к. обычно не обрабатывают даже стандартные сообщения, хотя зависит от версии компоненты - надо проверять... вопрос уже поднимался, например тут: Получение информации из нестандартных контроллов. В крайнем случае, для определения того, что "ЧТО-ТО изменилось" можно использовать ф-ции "Pixel*()".
|
Sp01LeR, вот данные об окне
>>>> Window <<<< Title: Д-Информ Class: TFormMain Position: 1, 1 Size: 1168, 1020 Style: 0x16CF0000 ExStyle: 0x00010100 Handle: 0x00050884 >>>> Control <<<< Class: TStringGrid Instance: 1 ClassnameNN: TStringGrid1 Advanced (Class): [CLASS:TStringGrid; INSTANCE:1] ID: 264338 Text: Position: 0, 38 Size: 1160, 948 ControlClick Coords: 1014, 371 Style: 0x54110000 ExStyle: 0x00000200 Handle: 0x00040892 >>>> Mouse <<<< Position: 1014, 409 Cursor ID: 2 Color: 0xFFFFFF >>>> StatusBar <<<< >>>> Visible Text <<<< >>>> Hidden Text <<<< amel27, думал о PixelCheckSumm... Не подходит, сложно анализировать |
PixelCheckSumm() очень грузит "камень", для Gui-форм лучше использовать PixelGetColor(), но тоже придется много анализировать...
Все-таки, по-моему, самым простым способом будет разворачивание окна, вычисление нужных коодинат в области Class: TStringGrid и использование Send(), MouseClick(), MouseWheel(), MouseGetPos(), MouseMove() и т.д. |
Цитата:
|
Frost_Imp, попробуй WinSpy, AutoIT v3 Info показывал TdfDBGrid, а WinSpy -TDBGridInplaceEdit.
|
Время: 08:05. |
Время: 08:05.
© OSzone.net 2001-