HWND editwnd;
char buf[10];
editwnd=::GetDlgItem(m_hWnd,IDC_EDIT1); //得到编辑框句柄MessageBox(editwnd);问下大家,这样无法显示,该如何才能把hwnd型转换为char*型而在messagebox里显示出来呢。

解决方案 »

  1.   

    使用GetWindowText得到Edit中的文字,然后使用MessageBox
      

  2.   


    CString str;
    str.Format(_T("%d"), editwnd);
    MessageBox(str);
      

  3.   

    我显示的应该是一个句柄值吧,你这样把edit里的文字显示出来干吗。
      

  4.   

    再问下,我运行这个窗口时用spy++显示出来他的handle值是000E03BC
    为什么程序messagebox显示出来如果是十六进制的话却是000A02DE?
    难道messagebox显示出来的,不是对话框的句柄值吗
      

  5.   


    你原来的帖子中没说要显示句柄的值唉,我以为是要显示文本呢。
    如果要显示句柄,3楼的就可以。
    也可以这样:
    sprintf(buf, "0x%08x", editwnd);
    MessageBox(buf);
      

  6.   

    我运行这个窗口时用spy++显示出来他的handle值是000E03BC
    为什么程序messagebox显示出来如果是十六进制的话却是000A02DE?
    难道messagebox显示出来的,不是对话框的句柄值吗