一个WIN32程序里面用createdialogparam加载一个对话框,
然后再消息循环里面利用
GetDlgItem拿到控件
举例
Cbutton* pButton = GetDlgItme(hWnd,IDD_BUTTON);
if (pButton )
   pButton->SetWindowText("Test");
发现每一次都会在IsWindow里面断言

解决方案 »

  1.   

    你在Win32工程里调用GetDlgItem,返回的是一个HWND句柄,不是一个CWnd指针。
      

  2.   


    也不能这样说,一般情况下是没有类的概念,指的是C语言加上API的程序
      

  3.   

    直接用GetDlgItemText(IDD_BUTTON,strT);不就可以了么
      

  4.   

    应该是这个 SetDlgItemText(IDD_BUTTON,str);
      

  5.   

    那么如果是一个ChekBox呢
    我如何知道它的状态
      

  6.   

    Cbutton* pButton = GetDlgItme(hWnd,IDD_BUTTON);
    这样代码在WIN 32下是不对的,右边返回的是HWND,你是在MFC中还是SDK中呢?
      

  7.   

    可以这样用:GetDlgItem(IDD_BUTTON)->SetWindowText("test");
    如果是ChekBox,则:
    m_button.GetCheck();//m_button是IDD_BUTTON的变量
      

  8.   

    Win32 Application里你上面的代码可以通过编译?
      

  9.   

    HWND hButton = GetDlgItme(hWnd,IDD_BUTTON);
    if (hButton )
    {
      SetWindowText(hButton, _T("Button"));
    }