BOOL CMy1View::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) 
{
         CRect re;
GetClientRect(&re);
CListCtrl*Cyyz;
Cyyz = new CListCtrl;
char  ID_SSS1;
Cyyz->Create(LVS_REPORT,re,Cyyz,ID_SSS1);
         Cyyz->ShowWindow(SW_SHOW);

return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
我用向导建立一个但文档窗口,我想在单文档窗口中动态加入一个ListCtrl控件,我上边的方法对吗,为什么编译的时候没问题,指出这么一条警告信息
warning C4700: local variable 'ID_SSS1' used without having been initialized
但在程序运行时总是出错

解决方案 »

  1.   

    BOOL CMy1View::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) 
    {
    BOOL bCreate = CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);        if(bCreate){
             CRect re;
    GetClientRect(&re);
    CListCtrl*Cyyz;
    Cyyz = new CListCtrl;
    char  ID_SSS1;
    Cyyz->Create(LVS_REPORT,re,Cyyz,ID_SSS1);
             Cyyz->ShowWindow(SW_SHOW);
            }
    }
    Try一下看
      

  2.   

    控件的ID没有初始化?
    你为什么不用常量呢。如Cyyz->Create(LVS_REPORT,re,Cyyz,10000);
    我动态建立都是这样用的。
      

  3.   

    void CXXView::OnInitialUpdate()/////在OnInitialUpdate()中
    {
    CView::OnInitialUpdate(); CListCtrl* Cyyz=new CListCtrl;
    Cyyz->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,
       CRect(10,10,400,200), AfxGetMainWnd(), 1);

    }
      

  4.   

    在查看中中有一个Resource Symbols中将控件的名字与一个相应的数字连接,以便相应消息~~~
    或者象wxdnuaa(wxd) 说的那样,直接用一个数值代替。~~