我调用CreateWindow()函数创建的一个编辑框,返回句柄我已保存起来了,但是创建的标识符号是什么呢?
因为我想要调用下面的GetDlgItemInt函数获得文本框里面的变量啊!
获取控件里面的字符串并转化成int类型
UINT
WINAPI
GetDlgItemInt(
    __in HWND hDlg,
    __in int nIDDlgItem,
    __out_opt BOOL *lpTranslated,
    __in BOOL bSigned);
hDlg//handle to dialog box
nlDDlgItem//control identifer
*lpTranslated//success state
bSigned //signed or unsigned value

解决方案 »

  1.   

    此函数是根据对话框及其控件ID取得文字的,你这个只是一个普通窗口,用 GetWindowText 函数或者发送 WM_GETTEXT 消息即可。
    HWND hwndEdit = NULL;
    hwndEdit = CreateWindow(WC_EDIT, /* TEXT("Edit") */ ...);
    获取文字:
    TCHAR szBuff[256] = { 0 };
    GetWindowText(hwndEdit, szBuff, sizeof(szBuff)/sizeof(TCHAR));
    // SendMessage(hwndEdit, WM_GETTEXT, sizeof(szBuff)/sizeof(TCHAR), szBuff);
    选择一个即可。
      

  2.   

    创建的标识符就是指你控件的ID,你用CreateWindow()函数创建的,所以应该使用GetWindowText()函数来获取内容。
      

  3.   

    除了普通的窗口还有什么窗口呢??我通过GetWindowText()获得控件上面的内容,之后使用atoi()函数转换成功了。
      

  4.   

    HWND CreateEdit(HWND parentWnd)
    {
    HWND hEd=0;
    hEd = CreateWindow("EDIT",
                    NULL,
                    WS_CHILD| WS_TABSTOP |WS_VISIBLE | WS_BORDER | ES_MULTILINE | ES_WANTRETURN,
                    10, 260, 280, 60, 
                    parentWnd, (HMENU)IDC_EDIT
                    (HINSTANCE) GetWindowLong(parentWnd, GWL_HINSTANCE), 
                    NULL);
    SetWindowText(hEd,"an Edit with ES_MULTILINE and ES_WANTRETURN style !");
    //
    return hEd;
    }
      

  5.   

    用 CreateDialog 系列创建的对话框才能用此函数。
    CreateWindow 直接返回的就是控件句柄。