我开发了一个win32应用程序(c ++),现在,我想使用Inspect(SDK)进行一些自动化测试。
我的问题是Inspect无法识别EDIT
个框。我的意思是Inspect无法区分他们的名字。它可以看到有多个EDIT
框,但它们都被命名为#34; 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 :(得分: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