2013-07-28 2 views
0

Я реализовал этот класс MFC. (Обратите внимание, что то, что написано здесь, является частью моего класса)
здесь файл FilesWorkFlow.hошибка C2248: 'CObject :: operator =': не может получить доступ к закрытому члену, объявленному в классе 'CObject'

#pragma once 


// FilesWorkFlow 

class FilesWorkFlow : public CWnd 
{ 
    DECLARE_DYNAMIC(FilesWorkFlow) 

public: 
    FilesWorkFlow(); 
    virtual ~FilesWorkFlow(); 
    CString GetPath(); 

protected: 
    DECLARE_MESSAGE_MAP() 
private: 
    wchar_t* lpszFilter; 

}; 

и вот файл FilesWorkFlow.cpp

// FilesWorkFlow.cpp : implementation file 
// 

#include "stdafx.h" 
#include "InitialJobProject2.h" 
#include "FilesWorkFlow.h" 


// FilesWorkFlow 

IMPLEMENT_DYNAMIC(FilesWorkFlow, CWnd) 

FilesWorkFlow::FilesWorkFlow() 
{ 
    lpszFilter = _T("JPEG Files (*.jpg)|*.jpg|") 
    _T("TIFF Files (*.tif)|*.tif|")_T("PNG Files (*.png)|*.png|")_T("Bitmap Files (*.bmp)|*.bmp|"); 
} 

FilesWorkFlow::~FilesWorkFlow() 
{ 
} 

CString FilesWorkFlow::GetPath() 
{ 
    CFileDialog dlgFile = CFileDialog(true,0,0,OFN_ENABLESIZING | OFN_HIDEREADONLY,lpszFilter,0,0,true); 
    if (dlgFile.DoModal() == IDOK) 
    { 
     CString pathname = dlgFile.GetPathName(); 
     return pathname; 
    } 
} 


BEGIN_MESSAGE_MAP(FilesWorkFlow, CWnd) 
END_MESSAGE_MAP() 



// FilesWorkFlow message handlers 

и в файле InitialJobProject2Dlg.h, который является заголовком класса, связанным с моим диалоговым окном и выводится из класс CDialogEx, у меня есть этот код:

#include "FilesWorkFlow.h" 
...... 
private: 
CWndResizer m_resizer; 
FilesWorkFlow m_filesWorkFlow; 

и, наконец, это то, что находится в файле FilesWorkFlow.cpp

void CInitialJobProject2Dlg::OnBnClickedBtnbrowse() 
{ 
    // TODO: Add your control notification handler code here 
    m_filesWorkFlow = FilesWorkFlow(); 
    CString filepath = m_filesWorkFlow.GetPath(); 
} 

Я не могу найти причину ошибки, указанную?

ответ

1

Вы пытаетесь назначить CFileDialog для CFileDialog, который не поддерживается. Инициализировать dlgFile следующим образом:

CFileDialog dlgFile(...); 

 Смежные вопросы

  • Нет связанных вопросов^_^