我想在程序中控制一个BUTTON的显示位置和显示方式,而不是在开始就拖控件到DIALOG中去,怎么办,我现在的办法是如下:
在dialog的OnPaint中添加如下代码
m_button = new CButton;
CWnd * m_wnd= this;//?这里是不是有问题
    m_button->Create("工",WS_CHILD,CRect (29,28,400,400),m_wnd  ,1007);
编译没有问题,但是显示不出来BUTTON,要怎么做才可以啊。

解决方案 »

  1.   

    see if create success!
    and show it with ShowWindow(SW_SHOW)!
      

  2.   

    也可加上WS_VISIBLE风格WS_CHILD|WS_VISIBLE
      

  3.   

    我想还是CWnd * m_wnd= this;出了问题,怎么样获得对话框的CWND呢?
      

  4.   

    现在可以显示了,谢谢两位,要设置成可见才可以的啊。不过现在又有新的问题,我加了一个语句:if (m_button->Create("工",WS_CHILD|WS_VISIBLE,CRect (29,28,400,400),m_wnd  ,1007))
    {
    ::AfxMessageBox ("创建成功",MB_OK);
    }
    这时执行的时候内存方面的致命错误
      

  5.   

    wokao.怎么在wm_paint里创建呀...应该在wm_initdialog里呀.
      

  6.   

    另:CWnd * m_wnd= this;//完全是多此一举.在button.create中直接传入this就可
      

  7.   

    kingcom_xu(学习) 说完了!
    kao,又来迟
      

  8.   

    是么?
    WM——PAINT 里不好吧