2015-01-12 2 views
0

Я разработал приложение win32 (C++), и теперь я хочу сделать некоторые тесты автоматизации с помощью Inspect (SDK).Inspect не распознает редактируемое текстовое поле win32

Моя проблема заключается в том, что Inspect не распознает EDIT коробки. Я имею в виду, что Inspect не может отличить их имена. Он может видеть, что есть несколько полей EDIT, но все они называются «none», которые являются нулевым значением. Эти имена всегда нулевые, даже если я инициализировать их с LPCTSTR lpWindowName параметром

// Create an edit box 
    hEdit = CreateWindowEx(WS_EX_CLIENTEDGE, 
     _T("EDIT"), 
     _T("I JUST WANT TO BE SEEN !"), 
     WS_CHILD|WS_VISIBLE| 
     ES_MULTILINE|ES_AUTOVSCROLL|ES_AUTOHSCROLL, 
     50, 
     100, 
     200, 
     100, 
     hWnd, 
     (HMENU)IDC_MAIN_EDIT, 
     GetModuleHandle(NULL), 
     NULL); 

Я также попробовать установить имя с помощью метода setWindowText, но он не работает. Два метода отлично работают с BUTTON, но не работают на EDIT.

Кто-нибудь, как подсказка?

+0

Вы уверены, что текст окна не появляется в любом месте в доступный объект? Разве это не 'accValue'? Если это 'accValue', я думаю, что у меня есть ощущение того, что происходит ... – andlabs

+0

Он не может отличить их от ID? Например. в приведенном выше примере идентификатор IDC_MAIN_EDIT. –

+0

На самом деле появляется сообщение «LPCTSTR lpWindowName» с текстом в поле редактирования. Итак, да, @andlabs, это текущее значение вместо имени. –

ответ

0

С помощью Dynamic Annotation можно задать имя (или любое другое свойство элемента управления). Кроме того, если это общий элемент управления, можно установить имя, добавив скрытую метку в файл .rc. В противном случае вам придется использовать динамическую аннотацию.

, если вы хотите установить один из них:

-NAME     -KEYBOARDSHORTCUT 
-DESCRIPTION   -DEFAULTACTION 
-ROLE     -VALUEMAP 
-STATE     -ROLEMAP 
-HELP     -STATEMAP. 

Вы должны будете использовать Direct аннотацию или аннотацию Server. Но если вы хотите установить один из них:

-FOCUS     -RIGHT 
-SELECTION    -PREV 
-PARENT    -NEXT 
-UP     -FIRSTCHILD 
-DOWN     -LASTCHILD 
-LEFT 

Только аннотаций сервер позволит вам сделать это.

Вот более подробно о динамических Аннотация: http://msdn.microsoft.com/en-us/windows/desktop/gg712214.aspx

Вот более подробно, если вы хотите сделать Dynamic аннотацию на пользовательский элемент управления: http://msdn.microsoft.com/en-us/windows/cc307845.aspx

+0

Да, это то, куда я направлялся с моими вопросами. См. Мой комментарий выше об ошибочных именах параметров. – andlabs

Смежные вопросы