нахождения координат View
#1
Отправлено 16 декабря 2008 - 13:27
Ведь View не является обьєктом окна.
Заранее спасибо! :)
#2
Отправлено 17 декабря 2008 - 14:25
Во-первых - подозреваю, что это пункт меню ... хотя скорее всего - ошибаюсь
Во-вторых - даже не знаю -- что конкретно хотелось узнать ?
Вообще-то, координаты используются чаще всего для
а) кликов по данной области (предпочтительно брать координаты относительно Desktop'a)
б) проверок изображения области (CaptureBitmap и его вариации, либо GetPixel из gdi32.dll )
#3
Отправлено 17 декабря 2008 - 14:53
Открыл свой notepad.exe. View не нашел нигде.
Во-первых - подозреваю, что это пункт меню ... хотя скорее всего - ошибаюсь
Во-вторых - даже не знаю -- что конкретно хотелось узнать ?
Вообще-то, координаты используются чаще всего для
а) кликов по данной области (предпочтительно брать координаты относительно Desktop'a)
б) проверок изображения области (CaptureBitmap и его вариации, либо GetPixel из gdi32.dll )
View – это меню «Вид» в русском Notepadе (Блокноте).
А мне нужно найти координаты меню View (Вид) для кликов по данной области.
Потому что в зависимости от языка Notepad координаты меню View (Вид) изменяются (на английском Notepadе – это одни координаты, а на немецком или другом Notepadе – другие координаты. )
Так вот, как с помощью GetRect () или другим способом найти координаты View (Вид)?
#4
Отправлено 17 декабря 2008 - 15:25
А мне нужно найти координаты меню View (Вид) для кликов по данной области.
Потому что в зависимости от языка Notepad координаты меню View (Вид) изменяются (на английском Notepadе – это одни координаты, а на немецком или другом Notepadе – другие координаты. )
Так вот, как с помощью GetRect () или другим способом найти координаты View (Вид)?
Если я правильно понял, задача заключается в том, чтобы выбирать пункт меню, независимо от языка приложения?
Тогда есть путь попроще :)
1) При записи деклараций окон используйте в тегах используйте не Caption, а, например, порядковый номер контрола (#).
2) А лучше дать вашим пунктам меню правильные теги. Например,
tag "View|Вид|Bekijken"
Этот тег говорит силктесту о том, что меню может иметь один из трех кепшенов (View - для англ версии, Вид - для русской и Bekijken - для немецкой).
#5
Отправлено 17 декабря 2008 - 15:39
ясно :) У notepad'a для Win2k такой менюшки нет ;)View – это меню «Вид» в русском Notepadе (Блокноте).
А мне нужно найти координаты меню View (Вид) для кликов по данной области.
Потому что в зависимости от языка Notepad координаты меню View (Вид) изменяются (на английском Notepadе – это одни координаты, а на немецком или другом Notepadе – другие координаты. )
Так вот, как с помощью GetRect () или другим способом найти координаты View (Вид)?
в связи с этим присоединяюсь к предыдущему посту - использовать для тега Caption "View", Index "#4" (или - Window ID "$nnn" , хотя для View он неопределен :( )
#6
Отправлено 17 декабря 2008 - 15:47
ясно :) У notepad'a для Win2k такой менюшки нет ;)
Хм... Любопытно. Ну в этом меню только один подпункт - Status Bar :)
Причем по умолчанию он отключен...
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#7
Отправлено 17 декабря 2008 - 15:56
ясно :) У notepad'a для Win2k такой менюшки нет ;)View – это меню «Вид» в русском Notepadе (Блокноте).
А мне нужно найти координаты меню View (Вид) для кликов по данной области.
Потому что в зависимости от языка Notepad координаты меню View (Вид) изменяются (на английском Notepadе – это одни координаты, а на немецком или другом Notepadе – другие координаты. )
Так вот, как с помощью GetRect () или другим способом найти координаты View (Вид)?
в связи с этим присоединяюсь к предыдущему посту - использовать для тега Caption "View", Index "#4" (или - Window ID "$nnn" , хотя для View он неопределен :( )
Я еще немного дополню. В теге также можно указывать местоположение контрола. Например,
tag "@(10, 20)"
Но я бы все-таки посоветовал прежде всего попробовать перечислять возможные теги (View, Вид и т.п.) через символ |.
#8
Отправлено 17 декабря 2008 - 16:03
ясно :) У notepad'a для Win2k такой менюшки нет ;)View – это меню «Вид» в русском Notepadе (Блокноте).
А мне нужно найти координаты меню View (Вид) для кликов по данной области.
Потому что в зависимости от языка Notepad координаты меню View (Вид) изменяются (на английском Notepadе – это одни координаты, а на немецком или другом Notepadе – другие координаты. )
Так вот, как с помощью GetRect () или другим способом найти координаты View (Вид)?
в связи с этим присоединяюсь к предыдущему посту - использовать для тега Caption "View", Index "#4" (или - Window ID "$nnn" , хотя для View он неопределен :( )
Я еще немного дополню. В теге также можно указывать местоположение контрола. Например,
tag "@(10, 20)"
Но я бы все-таки посоветовал прежде всего попробовать перечислять возможные теги (View, Вид и т.п.) через символ |.
А можно как то с помощью метода GetRect() найти координаты меню View?
#9
Отправлено 17 декабря 2008 - 17:11
можно. но для обычных Menu/MenuItem оно недоступно.Я еще немного дополню. В теге также можно указывать местоположение контрола. Например,
tag "@(10, 20)"
Но я бы все-таки посоветовал прежде всего попробовать перечислять возможные теги (View, Вид и т.п.) через символ |.
Увы, похоже - не штатными средствами силка :(А можно как то с помощью метода GetRect() найти координаты меню View?
я бы копал отсюда :
typedef struct tagMENUITEMINFOA { UINT cbSize; UINT fMask; UINT fType; // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0) UINT fState; // used if MIIM_STATE UINT wID; // used if MIIM_ID HMENU hSubMenu; // used if MIIM_SUBMENU HBITMAP hbmpChecked; // used if MIIM_CHECKMARKS HBITMAP hbmpUnchecked; // used if MIIM_CHECKMARKS DWORD dwItemData; // used if MIIM_DATA LPSTR dwTypeData; // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0) UINT cch; // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0) #if (_WIN32_WINNT >= 0x0500) HBITMAP hbmpItem; // used if MIIM_BITMAP #endif } MENUITEMINFOA, FAR *LPMENUITEMINFOA;
#10
Отправлено 17 октября 2011 - 10:03
В Notepad менюшки нормально идентифицируются -
MainWin("*Notepad").Menu("#{id}").MenuItem("#{id}")
И тут еже не зависит будет этот контрол 5х5 пикселей или 100х100.
Если же нужны координаты, то почему не пойти таким путем:
RECT rView = MainWin("*Notepad").Menu("#{id}").MenuItem("#{id}").GetRect() rView.xPos //OX position rView.yPos //OY position rView.xSize //OX size rView.ySize //OY size
Или я что-то не так понял?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных