你有没有用过mfc的CFileDialog这个控件,我不太明白
m_ofn is a structure of type OPENFILENAMEm_ofn.Flags = m_ofn.Flags | OFN_ENABLETEMPLATE ;为什么要这么写?m_ofn.Flags = OFN_ENABLETEMPLATE ; 这样写为什么不对?
m_ofn is a structure of type OPENFILENAMEm_ofn.Flags = m_ofn.Flags | OFN_ENABLETEMPLATE ;为什么要这么写?m_ofn.Flags = OFN_ENABLETEMPLATE ; 这样写为什么不对?
m_ofn.Flags = OFN_ENABLETEMPLATE 这样是可以的。
但m_ofn.Flags!=0;
m_ofn.Flags = OFN_ENABLETEMPLATE 这样是不可以的。
( | )他们之间是相与的结果。他们的风格值是不同的,你可以自己试试。
如原来m_ofn.Flags = OFN_A
m_ofn.Flags = m_ofn.Flags | OFN_ENABLETEMPLATE ;后为m_ofn.Flags = OFN_A|OFN_ENABLETEMPLATE ;m_ofn.Flags = OFN_ENABLETEMPLATE ; 这样当然不对了
可以保存原来的值呀,看什么用途了
LPCTSTR lpszDefExt, LPCTSTR lpszFileName,DWORD dwFlags,
LPCTSTR lpszFilter,CWnd* pParentWnd)
:CFileDialog(bOpenFileDialog,lpszDefExt,lpszFileName,
dwFlags,lpszFilter,pParentWnd)
{
//{{AFX_DATA_INIT(CSpecialFileDialog)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_ofn.Flags =m_ofn.Flags | OFN_ENABLETEMPLATE;
m_ofn.lpTemplateName = MAKEINTRESOURCE(IDD_FILESPECIAL);
m_ofn.lpstrTitle = "Delete File OK";
m_bDeleteAll = FALSE;
}这是原函数,在这里m_ofn.Flags 任何值都没有,为什么还要用它跟别的变量或呢?