Toolbar. Как добраться до кнопок в SilkTest
#1
Отправлено 03 июля 2008 - 04:18
Есть приложение, написанное на Дельфи. Toolbar опреляется как Toolbar, но доступ к отдельным кнопкам невозможен. Покоординатная запись ничего не дает - выдается ошибка - что объект не найден.
Если кто-то решил данную проблему - поделитесь методами решения.
#2
Отправлено 03 июля 2008 - 07:37
Одной из особенностей Делфи является то, что во многих случаях кнопки на тулбаре не являются отдельными окнами, чтобы распознаваться как отдельный объект. В таких случаях придется все-таки привязываться к координатам. Как вариант, можно создать набор фейковых (не существующих в системе) кнопок, которые привязать к тулбару и переопределить метод Click, который бы делал клик с учетом смещения этой кнопки. Выглядит это примерно так:Проблема: Toolbar. Как добраться до кнопок в SilkTest
Есть приложение, написанное на Дельфи. Toolbar опреляется как Toolbar, но доступ к отдельным кнопкам невозможен. Покоординатная запись ничего не дает - выдается ошибка - что объект не найден.
Если кто-то решил данную проблему - поделитесь методами решения.
winclass FakeButton : AnyWin POINT pos = { 0 , 0 } VOID ClickButton( INTEGER iButton optional, INTEGER x optional, INTEGER y optional, BOOLEAN bRawEvent optional ) if( IsNull( iButton ) ) iButton = 1 if( IsNull( x ) ) x = 0 if( IsNull( y ) ) y = 0 if( IsNull( bRawEvent ) ) bRawEvent = FALSE this.Click( iButton, x + this.pos.x, y + this.pos.y , bRawEvent )
Соответственно, привязка этих кнопок к вашему тулбару выглядит примерно так
Toolbar tlbMyToolbar tag "Some tag" FakeButton btnButton POINT pos = { 10 , 5 } // Смещение кнопки относительно левого верхнего угла тулбара
Вот подобный принцип можно использовать для работы с кнопками, которые не распознаются.
#3
Отправлено 04 июля 2008 - 06:47
#4
Отправлено 04 июля 2008 - 08:33
Может и есть что-то, но на это расчитывать приходится мало, так как СилкТест ориентирован несколько на другую аудиторию, отличную от той, которая при разработке использует Делфи. Понятное дело, что решение элегантным назвать трудно, но оно хотя бы естьБольшое спасибо. Может, найдется решение поэлегантнее? Просто там кнопки разной длины, а на некоторых - выпадающие меню.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных