检查无法识别win32可编辑文本框

时间:2015-01-12 22:11:12

标签: c++ winapi edit inspect

我开发了一个win32应用程序(c ++),现在,我想使用Inspect(SDK)进行一些自动化测试。

我的问题是Inspect无法识别EDIT个框。我的意思是Inspect无法区分他们的名字。它可以看到有多个EDIT框,但它们都被命名为#34; none"它出现为空值。即使我使用LPCTSTR lpWindowName参数

初始化它们,这些名称也始终为null
// 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

有人作为线索吗?

1 个答案:

答案 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