Inspect не распознает редактируемое текстовое поле win32

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

Моя проблема в том, что 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

Решение

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

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

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

Вам придется использовать прямую аннотацию или аннотацию сервера.
Но если вы хотите установить один из них:

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

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

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

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

0

Другие решения


По вопросам рекламы [email protected]